Fix a bug in json_tokener_parse_ex when re-using the same tokener to parse multiple objects.  Now, json_tokener_reset() does not need to be called after a valid object is parsed.
diff --git a/json_tokener.c b/json_tokener.c
index 04950b5..1dc06e4 100644
--- a/json_tokener.c
+++ b/json_tokener.c
@@ -715,7 +715,17 @@
       tok->err = json_tokener_error_parse_eof;
   }
 
-  if(tok->err == json_tokener_success) return json_object_get(current);
+  if (tok->err == json_tokener_success) 
+  {
+    json_object *ret = json_object_get(current);
+	int ii;
+
+	/* Partially reset, so we parse additional objects on subsequent calls. */
+    for(ii = tok->depth; ii >= 0; ii--)
+      json_tokener_reset_level(tok, ii);
+    return ret;
+  }
+
   MC_DEBUG("json_tokener_parse_ex: error %s at offset %d\n",
 	   json_tokener_errors[tok->err], tok->char_offset);
   return NULL;