Changeset 822
- Timestamp:
- 08/15/08 20:20:12 (3 months ago)
- Files:
-
- 1 modified
-
firmware/trunk/libraries/json/json.c (modified) (7 diffs)
Legend:
- Unmodified
- Added
- Removed
-
firmware/trunk/libraries/json/json.c
r764 r822 143 143 char* JsonEncode_ObjectOpen(JsonEncode_State* state, char *buf, int *remaining) 144 144 { 145 if( !buf ) 146 return 0; 145 147 int len = 1; 146 148 switch(state->steps[state->depth]) … … 203 205 char* JsonEncode_ObjectClose(JsonEncode_State* state, char *buf, int *remaining) 204 206 { 205 if(*remaining < 1 )207 if(*remaining < 1 || !buf ) 206 208 return NULL; 207 209 memcpy(buf, "}", 1); … … 222 224 char* JsonEncode_ArrayOpen(JsonEncode_State* state, char *buf, int *remaining) 223 225 { 226 if( !buf ) 227 return 0; 224 228 int len = 1; 225 229 switch(state->steps[state->depth]) … … 269 273 char* JsonEncode_ArrayClose(JsonEncode_State* state, char *buf, int *remaining) 270 274 { 271 if(*remaining < 1 )275 if(*remaining < 1 || !buf ) 272 276 return NULL; 273 277 memcpy(buf, "]", 1); … … 291 295 char* JsonEncode_String(JsonEncode_State* state, char *buf, const char *string, int *remaining) 292 296 { 297 if( !buf ) 298 return 0; 293 299 int string_len = strlen(string) + 2 /* quotes */; 294 300 … … 345 351 char* JsonEncode_Int(JsonEncode_State* state, char *buf, int value, int *remaining) 346 352 { 353 if( !buf ) 354 return 0; 347 355 int int_as_str_len = 11; // largest 32-bit int is 10 digits long, and also leave room for a +/- 348 356 int int_len = 0; … … 400 408 char* JsonEncode_Bool(JsonEncode_State* state, char *buf, bool value, int *remaining) 401 409 { 410 if( !buf ) 411 return 0; 402 412 const char* boolval = (value) ? "true" : "false"; 403 413 int bool_len = strlen(boolval);
