From: Jeremy Tan Date: Tue, 24 Sep 2013 04:46:58 +0000 (-0700) Subject: Merge pull request #42 from jtanx/master X-Git-Url: https://git.ucc.asn.au/?a=commitdiff_plain;ds=inline;h=6783694cfc5731afc561ea0e6737b6a982befa29;hp=-c;p=matches%2FMCTX3420.git Merge pull request #42 from jtanx/master Update fastcgi bool type --- 6783694cfc5731afc561ea0e6737b6a982befa29 diff --combined server/fastcgi.c index e7133e8,89386f3..352efe1 --- a/server/fastcgi.c +++ b/server/fastcgi.c @@@ -16,7 -16,6 +16,7 @@@ #include "control.h" #include "options.h" #include "image.h" +#include "pin_test.h" /**The time period (in seconds) before the control key expires */ #define CONTROL_TIMEOUT 180 @@@ -228,7 -227,16 +228,16 @@@ bool FCGI_ParseRequest(FCGIContext *con switch(FCGI_TYPE(val->flags)) { case FCGI_BOOL_T: - *((bool*) val->value) = true; + if (!*value) //No value: Default true + *((bool*) val->value) = true; + else { + *((bool*) val->value) = !!(strtol(value, &ptr, 10)); + if (*ptr) { + snprintf(buf, BUFSIZ, "Expected bool for '%s' but got '%s'", key, value); + FCGI_RejectJSON(context, buf); + return false; + } + } break; case FCGI_INT_T: case FCGI_LONG_T: { long parsed = strtol(value, &ptr, 10); @@@ -482,8 -490,6 +491,8 @@@ void * FCGI_RequestLoop (void *data module_handler = Actuator_Handler; } else if (!strcmp("image", module)) { module_handler = Image_Handler; + } else if (!strcmp("pin", module)) { + module_handler = Pin_Handler; // *Debug only* pin test module } context.current_module = module;