]> uap-core.de Git - uwplayer.git/commitdiff
improve json parsing in load_config
authorOlaf Wintermann <olaf.wintermann@gmail.com>
Tue, 25 Nov 2025 17:57:19 +0000 (18:57 +0100)
committerOlaf Wintermann <olaf.wintermann@gmail.com>
Tue, 25 Nov 2025 17:57:19 +0000 (18:57 +0100)
application/settings.c

index e0cc967b3f65b1a1d4b140527373f02e147bd045..8faf849a61b81b7a85083f0514af34560fb1acf6 100644 (file)
@@ -125,16 +125,17 @@ int load_config(void) {
         CxJsonValue *value = NULL;
         char buf[JS_READ_BUFSIZE];
         size_t r;
-        while((ret = cxJsonNext(&parser, &value)) != CX_JSON_NO_ERROR) {
-            if(ret > CX_JSON_NULL_DATA) {
-                fprintf(stderr, "Error: cannot parse config file: %s\n", cfgfile_path);
-                break; // error
-            }
+        
+        do {
             r = fread(buf, 1, JS_READ_BUFSIZE, cfgfile);
             if(r == 0) {
                 break;
             }
             cxJsonFilln(&parser, buf, r);
+        } while((ret = cxJsonNext(&parser, &value)) != CX_JSON_NO_ERROR);
+        
+        if(ret > CX_JSON_NULL_DATA) {
+            fprintf(stderr, "Error: cannot parse config file: %s\n", cfgfile_path);
         }
         
         cxJsonDestroy(&parser);