Skip to content

Commit bf04b20

Browse files
Fixed irrJSON: stopped adding empty attribute in addition to child object
1 parent f813d55 commit bf04b20

File tree

1 file changed

+8
-4
lines changed

1 file changed

+8
-4
lines changed

util/irrJSON/irrJSON.cpp

+8-4
Original file line numberDiff line numberDiff line change
@@ -190,14 +190,15 @@ void irrJSON::getElements( irrTreeNode* pNode )
190190
if ( ! findName )
191191
{
192192
getElements( &(pNode->addNode( new irrJSONElement(name.c_str()) )) );
193+
name = ""; // Clear name to prevent next comma from adding empty attribute
193194
}
194195
break;
195196

196197
case '}': // <- unreachable anyways
197198
case ';':
198199
case ',':
199200
findName = true;
200-
if ( name.size() && name != "" )
201+
if ( name.size() > 0 && name != "" )
201202
elem->addAttribute(name,value);
202203
name = "";
203204
value = "";
@@ -231,7 +232,8 @@ void irrJSON::getElements( irrTreeNode* pNode )
231232
// Must be looking for value
232233
if ( (token[0] == '}' || reader->atEOF()) && !findName )
233234
{
234-
elem->addAttribute(name,value);
235+
if ( name.size() > 0 && name != "" )
236+
elem->addAttribute(name,value);
235237
}
236238

237239
continue;
@@ -249,7 +251,8 @@ void irrJSON::getElements( irrTreeNode* pNode )
249251
// Must be looking for value
250252
if ( (token[0] == '}' || reader->atEOF()) && !findName )
251253
{
252-
elem->addAttribute(name,value);
254+
if ( name.size() > 0 && name != "" )
255+
elem->addAttribute(name,value);
253256
}
254257

255258
continue;
@@ -280,7 +283,8 @@ void irrJSON::getElements( irrTreeNode* pNode )
280283
// Must be looking for value
281284
if ( (token[0] == '}' || reader->atEOF()) && !findName )
282285
{
283-
elem->addAttribute(name,value);
286+
if ( name.size() > 0 && name != "" )
287+
elem->addAttribute(name,value);
284288
}
285289
} // end while loop
286290
}

0 commit comments

Comments
 (0)