From: Anders R. <ma...@us...> - 2006-01-31 07:37:01
|
Update of /cvsroot/planeshift/planeshift/src/server/bulkobjects In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv10644/src/server/bulkobjects Modified Files: dictionary.cpp Log Message: - Fixed a bug in the dict loader that caused read in freed data. Index: dictionary.cpp =================================================================== RCS file: /cvsroot/planeshift/planeshift/src/server/bulkobjects/dictionary.cpp,v retrieving revision 1.103 retrieving revision 1.104 diff -C2 -d -r1.103 -r1.104 *** dictionary.cpp 29 Jan 2006 21:05:54 -0000 1.103 --- dictionary.cpp 31 Jan 2006 07:36:46 -0000 1.104 *************** *** 113,117 **** if (disallowed_words.Insert(newword,TREE_OWNS_DATA)) { ! Error1("Found equal disallowed in disallowed_words\n"); delete newword; } --- 113,117 ---- if (disallowed_words.Insert(newword,TREE_OWNS_DATA)) { ! Error2("Found equal disallowed(%s) in disallowed_words\n",newword->GetData()); delete newword; } *************** *** 131,134 **** --- 131,135 ---- { delete newphrase; + return NULL; } *************** *** 213,218 **** if (phrases.Insert(found,TREE_OWNS_DATA)) { ! Error1("Found equal phrase in phrases\n"); delete found; } } --- 214,220 ---- if (phrases.Insert(found,TREE_OWNS_DATA)) { ! Error2("Found equal phrase(%s) in phrases\n",found->term.GetData()); delete found; + found = NULL; } } *************** *** 248,253 **** if (trigger_groups.Insert(newtge,TREE_OWNS_DATA)) { ! Error1("Found equal trigger in trigger groups\n"); delete newtge; } trigger_groups_by_id.Put(newtge->id,newtge); --- 250,256 ---- if (trigger_groups.Insert(newtge,TREE_OWNS_DATA)) { ! Error2("Found equal trigger(%s) in trigger groups\n",newtge->text.GetData()); delete newtge; + continue; } trigger_groups_by_id.Put(newtge->id,newtge); *************** *** 280,285 **** if (trigger_groups.Insert(newtge,TREE_OWNS_DATA)) { ! Error1("Found equal trigger in trigger groups\n"); delete newtge; } trigger_groups_by_id.Put(newtge->id,newtge); --- 283,289 ---- if (trigger_groups.Insert(newtge,TREE_OWNS_DATA)) { ! Error2("Found equal trigger(%s) in trigger groups\n",newtge->text.GetData()); delete newtge; + continue; } trigger_groups_by_id.Put(newtge->id,newtge); *************** *** 323,328 **** if (triggers.Insert(newtrig,TREE_OWNS_DATA)) { ! Error1("Found equal trigger in triggers\n"); delete newtrig; } --- 327,333 ---- if (triggers.Insert(newtrig,TREE_OWNS_DATA)) { ! Error2("Found equal trigger(%s) in triggers\n",newtrig->trigger.GetData()); delete newtrig; + continue; } *************** *** 355,359 **** if (responses.Insert(newresp,TREE_OWNS_DATA)) { ! Error1("Found equal response in responses\n"); delete newresp; } --- 360,364 ---- if (responses.Insert(newresp,TREE_OWNS_DATA)) { ! Error2("Found equal response(%s) in responses\n",newresp->response[0].GetData()); delete newresp; } *************** *** 497,502 **** if (triggers.Insert( newtrig, TREE_OWNS_DATA )) { ! Error1("Found equal trigger in triggers\n"); delete newtrig; } --- 502,508 ---- if (triggers.Insert( newtrig, TREE_OWNS_DATA )) { ! Error2("Found equal trigger(%s) in triggers\n",newtrig->trigger.GetData()); delete newtrig; + return; } *************** *** 525,529 **** if (responses.Insert(newresp,TREE_OWNS_DATA)) { ! Error1("Found equal response in responses\n"); delete newresp; } --- 531,535 ---- if (responses.Insert(newresp,TREE_OWNS_DATA)) { ! Error2("Found equal response(%s) in responses\n",newresp->response[0].GetData()); delete newresp; } *************** *** 564,569 **** if (responses.Insert(newresp,TREE_OWNS_DATA)) { ! Error1("Found equal response in responses\n"); delete newresp; } --- 570,576 ---- if (responses.Insert(newresp,TREE_OWNS_DATA)) { ! Error2("Found equal response(%s) in responses\n",newresp->response[0].GetData()); delete newresp; + return NULL; } *************** *** 610,615 **** if (triggers.Insert( newtrig, TREE_OWNS_DATA )) { ! Error1("Found equal trigger in triggers\n"); delete newtrig; } --- 617,623 ---- if (triggers.Insert( newtrig, TREE_OWNS_DATA )) { ! Error2("Found equal trigger(%s) in triggers\n",newtrig->trigger.GetData()); delete newtrig; + return false; } |