ecere/sys/JSON: Fixed crash on unknown member
[sdk] / ecere / src / sys / JSON.ec
index 736af5d..a04a2ae 100644 (file)
@@ -649,6 +649,7 @@ public:
       }
       buffer[c] = 0;
       //if(strchr(buffer, '.'))
+      if(!type) return success;
 
       // TOFIX: How to swiftly handle classes with base data type?
       if(type == class(double) || !strcmp(type.dataTypeString, "double"))
@@ -675,12 +676,12 @@ public:
       }
       else if(type == class(uint) || !strcmp(type.dataTypeString, "unsigned int"))
       {
-         value.ui = strtoul(buffer, null, 10);  // TOFIX: 64 bit support
+         value.ui = (uint)strtoul(buffer, null, 10);  // TOFIX: 64 bit support
          result = success;
       }
       else
       {
-         value.i = strtol(buffer, null, 10);
+         value.i = (int)strtol(buffer, null, 10);
          result = success;
       }