Merge pull request #42 from jtanx/master
authorJeremy Tan <[email protected]>
Tue, 24 Sep 2013 04:46:58 +0000 (21:46 -0700)
committerJeremy Tan <[email protected]>
Tue, 24 Sep 2013 04:46:58 +0000 (21:46 -0700)
Update fastcgi bool type

1  2 
server/fastcgi.c

diff --combined 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;

UCC git Repository :: git.ucc.asn.au