Re: Duping Bugfix

From: George (greerga@CIRCLEMUD.ORG)
Date: 01/16/98


On Fri, 16 Jan 1998, Drago's wrote:

>for (dt = descriptor_list; dt; dt = dt->next)
>   if(GET_NAME(dt->character))
>      continue;
>   else
>      return FALSE;
>
>does top them from making characters with the same name (same cases that
>is).  Please don't think I'm trying to be a smart ass with this, I'm just
>trying to understand it better.

You cannot make ANY new characters with the code like that.

Let us think logically:
  We scan the descriptor list for every character
    If the person we're checking has a name, check the next one.
    If the person does not have a name, return invalid name.

So since the person being created new does not have a name, you will always
return invalid name.

(I've also noticed we lack a 'Valid_Name' call for when we're overwriting a
deleted character so I'll have to touch that up and release another patch.
That could explain why no one else noticed the problem, they were using
deleted slots while my player file does not have any deleted.)

--
George Greer  -  Me@Null.net   | Genius may have its limitations, but stupidity
http://www.van.ml.org/~greerga | is not thus handicapped. -- Elbert Hubbard


     +------------------------------------------------------------+
     | Ensure that you have read the CircleMUD Mailing List FAQ:  |
     | http://democracy.queensu.ca/~fletcher/Circle/list-faq.html |
     +------------------------------------------------------------+



This archive was generated by hypermail 2b30 : 12/15/00 PST