Fix any noticeable spelling or grammar errors. Make sure every va_start has a va_end. Check all pointers for validity. git-svn-id: http://svn.metaparadigm.com/svn/json-c/trunk@41 327403b1-1117-474d-bef2-5cb71233fd97tags/json-c-0.10-20120530
@@ -1,4 +1,8 @@ | |||||
0.9 | 0.9 | ||||
* Fix any noticeable spelling or grammar errors. | |||||
* Make sure every va_start has a va_end. | |||||
* Check all pointers for validity. | |||||
Erik Hovland, erik at hovland dot org | |||||
* Fix json_object_get_boolean to return false for empty string | * Fix json_object_get_boolean to return false for empty string | ||||
Spotted by Vitaly Kruglikov, Vitaly dot Kruglikov at palm dot com | Spotted by Vitaly Kruglikov, Vitaly dot Kruglikov at palm dot com | ||||
* optimizations to json_tokener_parse_ex(), printbuf_memappend() | * optimizations to json_tokener_parse_ex(), printbuf_memappend() | ||||
@@ -64,6 +64,7 @@ struct json_tokener* json_tokener_new(void) | |||||
struct json_tokener *tok; | struct json_tokener *tok; | ||||
tok = (struct json_tokener*)calloc(1, sizeof(struct json_tokener)); | tok = (struct json_tokener*)calloc(1, sizeof(struct json_tokener)); | ||||
if (!tok) return NULL; | |||||
tok->pb = printbuf_new(); | tok->pb = printbuf_new(); | ||||
json_tokener_reset(tok); | json_tokener_reset(tok); | ||||
return tok; | return tok; | ||||
@@ -120,10 +120,10 @@ int sprintbuf(struct printbuf *p, const char *msg, ...) | |||||
/* if string is greater than stack buffer, then use dynamic string | /* if string is greater than stack buffer, then use dynamic string | ||||
with vasprintf. Note: some implementation of vsnprintf return -1 | with vasprintf. Note: some implementation of vsnprintf return -1 | ||||
if output is truncated whereas some return the number of bytes that | if output is truncated whereas some return the number of bytes that | ||||
would have been writen - this code handles both cases. */ | |||||
would have been written - this code handles both cases. */ | |||||
if(size == -1 || size > 127) { | if(size == -1 || size > 127) { | ||||
va_start(ap, msg); | va_start(ap, msg); | ||||
if((size = vasprintf(&t, msg, ap)) == -1) return -1; | |||||
if((size = vasprintf(&t, msg, ap)) == -1) { va_end(ap); return -1; } | |||||
va_end(ap); | va_end(ap); | ||||
printbuf_memappend(p, t, size); | printbuf_memappend(p, t, size); | ||||
free(t); | free(t); | ||||