On Sat, 1 Dec 2001, The Arrow wrote: > The solution I made, was to do it in create_entry() (db.c), where I put > an else at the end of the if, and in there free the name if it's not > NULL. How about: int create_entry(char *name) { . . . } else if ((pos = get_ptable_by_name(name)) == -1) { /* new name */ i = ++top_of_ptable + 1; RECREATE(player_table, struct player_index_element, i); pos = top_of_p_table; /* * Since the name is the same and already allocated for deleted * players, we only CREATE and set for new names. */ CREATE(player_table[pos].name, char, strlen(name) + 1); /* copy lowercase equivalent of name to table field */ for (i = 0; (player_table[pos].name[i] = LOWER(name[i])); i++) /* Nothing */ ; } return (pos); } Can someone verify that this fixes a problem and doesn't introduce any new ones? -dak -- +---------------------------------------------------------------+ | FAQ: http://qsilver.queensu.ca/~fletchra/Circle/list-faq.html | | Archives: http://post.queensu.ca/listserv/wwwarch/circle.html | +---------------------------------------------------------------+
This archive was generated by hypermail 2b30 : 06/24/03 PDT