]> git.mxchange.org Git - flightgear.git/commitdiff
Fix recently introduced bug in json-to-prop conversion
authorTorsten Dreyer <torsten@ŧ3r.de>
Wed, 11 Mar 2015 15:59:58 +0000 (16:59 +0100)
committerTorsten Dreyer <torsten@ŧ3r.de>
Wed, 11 Mar 2015 15:59:58 +0000 (16:59 +0100)
src/Network/http/jsonprops.cxx

index e5c1a508526968496a9340b82a5bf254f7ea81fa..25dc1fbe6f30376075015fc0fd1206ac15cbda75 100644 (file)
@@ -118,21 +118,19 @@ void JSON::toProp(cJSON * json, SGPropertyNode_ptr base)
   // else update base
   cJSON * cj = cJSON_GetObjectItem(json, "name");
   if ( cj ) {
-       char * name = cj->valuestring;
-    if (NULL == name) return; // no name?
-
-    string namestr = simgear::strutils::strip(string(name));
-    if( namestr.empty() )
-       return;
+    const char * name = cj->valuestring;
+    if (NULL == name) name = "";
 
     //TODO: better check for valid name
+    string namestr = simgear::strutils::strip(string(name));
+    if( false == namestr.empty() ) {
+      int index = 0;
+      cj = cJSON_GetObjectItem(json, "index");
+      if (NULL != cj) index = cj->valueint;
+      if (index < 0) return;
 
-    int index = 0;
-    cj = cJSON_GetObjectItem(json, "index");
-    if (NULL != cj) index = cj->valueint;
-    if (index < 0) return;
-
-    n = base->getNode(namestr, index, true);
+      n = base->getNode(namestr, index, true);
+    }
   }
 
   cJSON * children = cJSON_GetObjectItem(json, "children");