@@ -105,13 +105,17 @@ std::vector<ModStoreMod> readModStoreList(Json::Value& modlist) {
105105
106106 // id
107107 if (modlist[i][" id" ].asString ().size ()) {
108- const char * id_raw = modlist[i][" id" ].asString (). c_str ();
108+ std::string id_raw = modlist[i][" id" ].asString ();
109109 char * endptr = 0 ;
110- int numbervalue = strtol (id_raw,&endptr,10 );
110+ int numbervalue = strtol (id_raw. c_str () ,&endptr,10 );
111111
112- if ((* id_raw != 0 ) && (*endptr == 0 )) {
112+ if ((id_raw != " " ) && (*endptr == 0 )) {
113113 toadd.id = numbervalue;
114114 }
115+ else {
116+ errorstream << " readModStoreList: missing id" << std::endl;
117+ toadd.valid = false ;
118+ }
115119 }
116120 else {
117121 errorstream << " readModStoreList: missing id" << std::endl;
@@ -163,11 +167,11 @@ ModStoreModDetails readModStoreModDetails(Json::Value& details) {
163167 ModStoreVersionEntry toadd;
164168
165169 if (details[" version_set" ][i][" id" ].asString ().size ()) {
166- const char * id_raw = details[" version_set" ][i][" id" ].asString (). c_str ();
170+ std::string id_raw = details[" version_set" ][i][" id" ].asString ();
167171 char * endptr = 0 ;
168- int numbervalue = strtol (id_raw,&endptr,10 );
172+ int numbervalue = strtol (id_raw. c_str () ,&endptr,10 );
169173
170- if ((* id_raw != 0 ) && (*endptr == 0 )) {
174+ if ((id_raw != " " ) && (*endptr == 0 )) {
171175 toadd.id = numbervalue;
172176 }
173177 }
@@ -215,11 +219,11 @@ ModStoreModDetails readModStoreModDetails(Json::Value& details) {
215219
216220 if (details[" categories" ][i][" id" ].asString ().size ()) {
217221
218- const char * id_raw = details[" categories" ][i][" id" ].asString (). c_str ();
222+ std::string id_raw = details[" categories" ][i][" id" ].asString ();
219223 char * endptr = 0 ;
220- int numbervalue = strtol (id_raw,&endptr,10 );
224+ int numbervalue = strtol (id_raw. c_str () ,&endptr,10 );
221225
222- if ((* id_raw != 0 ) && (*endptr == 0 )) {
226+ if ((id_raw != " " ) && (*endptr == 0 )) {
223227 toadd.id = numbervalue;
224228 }
225229 }
@@ -248,11 +252,11 @@ ModStoreModDetails readModStoreModDetails(Json::Value& details) {
248252 if (details[" author" ].isObject ()) {
249253 if (details[" author" ][" id" ].asString ().size ()) {
250254
251- const char * id_raw = details[" author" ][" id" ].asString (). c_str ();
255+ std::string id_raw = details[" author" ][" id" ].asString ();
252256 char * endptr = 0 ;
253- int numbervalue = strtol (id_raw,&endptr,10 );
257+ int numbervalue = strtol (id_raw. c_str () ,&endptr,10 );
254258
255- if ((* id_raw != 0 ) && (*endptr == 0 )) {
259+ if ((id_raw != " " ) && (*endptr == 0 )) {
256260 retval.author .id = numbervalue;
257261 }
258262 else {
@@ -282,11 +286,11 @@ ModStoreModDetails readModStoreModDetails(Json::Value& details) {
282286 if (details[" license" ].isObject ()) {
283287 if (details[" license" ][" id" ].asString ().size ()) {
284288
285- const char * id_raw = details[" license" ][" id" ].asString (). c_str ();
289+ std::string id_raw = details[" license" ][" id" ].asString ();
286290 char * endptr = 0 ;
287- int numbervalue = strtol (id_raw,&endptr,10 );
291+ int numbervalue = strtol (id_raw. c_str () ,&endptr,10 );
288292
289- if ((* id_raw != 0 ) && (*endptr == 0 )) {
293+ if ((id_raw != " " ) && (*endptr == 0 )) {
290294 retval.license .id = numbervalue;
291295 }
292296 }
@@ -313,11 +317,11 @@ ModStoreModDetails readModStoreModDetails(Json::Value& details) {
313317 if (details[" titlepic" ].isObject ()) {
314318 if (details[" titlepic" ][" id" ].asString ().size ()) {
315319
316- const char * id_raw = details[" titlepic" ][" id" ].asString (). c_str ();
320+ std::string id_raw = details[" titlepic" ][" id" ].asString ();
317321 char * endptr = 0 ;
318- int numbervalue = strtol (id_raw,&endptr,10 );
322+ int numbervalue = strtol (id_raw. c_str () ,&endptr,10 );
319323
320- if ((* id_raw != 0 ) && (*endptr == 0 )) {
324+ if ((id_raw != " " ) && (*endptr == 0 )) {
321325 retval.titlepic .id = numbervalue;
322326 }
323327 }
@@ -332,11 +336,11 @@ ModStoreModDetails readModStoreModDetails(Json::Value& details) {
332336
333337 if (details[" titlepic" ][" mod" ].asString ().size ()) {
334338
335- const char * mod_raw = details[" titlepic" ][" mod" ].asString (). c_str ();
339+ std::string mod_raw = details[" titlepic" ][" mod" ].asString ();
336340 char * endptr = 0 ;
337- int numbervalue = strtol (mod_raw,&endptr,10 );
341+ int numbervalue = strtol (mod_raw. c_str () ,&endptr,10 );
338342
339- if ((* mod_raw != 0 ) && (*endptr == 0 )) {
343+ if ((mod_raw != " " ) && (*endptr == 0 )) {
340344 retval.titlepic .mod = numbervalue;
341345 }
342346 }
@@ -345,11 +349,11 @@ ModStoreModDetails readModStoreModDetails(Json::Value& details) {
345349 // id
346350 if (details[" id" ].asString ().size ()) {
347351
348- const char * id_raw = details[" id" ].asString (). c_str ();
352+ std::string id_raw = details[" id" ].asString ();
349353 char * endptr = 0 ;
350- int numbervalue = strtol (id_raw,&endptr,10 );
354+ int numbervalue = strtol (id_raw. c_str () ,&endptr,10 );
351355
352- if ((* id_raw != 0 ) && (*endptr == 0 )) {
356+ if ((id_raw != " " ) && (*endptr == 0 )) {
353357 retval.id = numbervalue;
354358 }
355359 }
@@ -389,11 +393,11 @@ ModStoreModDetails readModStoreModDetails(Json::Value& details) {
389393 // value
390394 if (details[" rating" ].asString ().size ()) {
391395
392- const char * id_raw = details[" rating" ].asString (). c_str ();
396+ std::string id_raw = details[" rating" ].asString ();
393397 char * endptr = 0 ;
394- float numbervalue = strtof (id_raw,&endptr);
398+ float numbervalue = strtof (id_raw. c_str () ,&endptr);
395399
396- if ((* id_raw != 0 ) && (*endptr == 0 )) {
400+ if ((id_raw != " " ) && (*endptr == 0 )) {
397401 retval.rating = numbervalue;
398402 }
399403 }
0 commit comments