--- deliantra/server/common/readable.C 2006/09/29 21:55:54 1.10 +++ deliantra/server/common/readable.C 2006/10/15 02:16:34 1.11 @@ -817,6 +817,7 @@ if (did_init_mon_info) return; + did_init_mon_info = 1; @@ -824,15 +825,15 @@ { if (QUERY_FLAG (&at->clone, FLAG_MONSTER) && (!QUERY_FLAG (&at->clone, FLAG_CHANGING) || QUERY_FLAG (&at->clone, FLAG_UNAGGRESSIVE))) { - objectlink *mon = (objectlink *) malloc (sizeof (objectlink)); + objectlink *mon = new objectlink; mon->ob = &at->clone; - mon->id = nrofmon; mon->next = first_mon_info; first_mon_info = mon; nrofmon++; } } + LOG (llevDebug, "init_mon_info() got %d monsters\n", nrofmon); } @@ -851,6 +852,7 @@ if (did_this) return; + did_this = 1; LOG (llevDebug, "Initializing reading data..."); @@ -2029,7 +2031,7 @@ for (monlink = first_mon_info; monlink; monlink = nextmon) { nextmon = monlink->next; - free (monlink); + delete monlink; } }