- Fixing a bug in map_nick2sd. Also fixed on Stable.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12445 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
zephyrus 2008-03-28 02:22:25 +00:00
parent 00f560c339
commit b70caae42f

View File

@ -1681,6 +1681,7 @@ struct map_session_data * map_nick2sd(const char *nick)
struct map_session_data* found_sd;
struct s_mapiterator* iter;
size_t nicklen;
int qty = 0;
if( nick == NULL )
return NULL;
@ -1693,32 +1694,30 @@ struct map_session_data * map_nick2sd(const char *nick)
{
if( battle_config.partial_name_scan )
{// partial name search
int qty = 0;
if( strnicmp(sd->status.name, nick, nicklen) == 0 )
{
found_sd = sd;
if( strcmp(sd->status.name, nick) == 0 )
break; // Perfect Match
{// Perfect Match
qty = 1;
break;
}
qty++;
}
if( qty != 1 ) found_sd = NULL; // Collisions
}
else
else if( strcasecmp(sd->status.name, nick) == 0 )
{// exact search only
if( strcasecmp(sd->status.name, nick) == 0 )
{
found_sd = sd;
break;
}
found_sd = sd;
break;
}
}
mapit_free(iter);
if( battle_config.partial_name_scan && qty != 1 )
found_sd = NULL;
return found_sd;
}