summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorskotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec>2006-06-15 01:40:59 +0000
committerskotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec>2006-06-15 01:40:59 +0000
commitbb467e9764ff8f6c26fb540edd5db9af41f889c7 (patch)
tree371b112053152a8eea656e7c09c25431050939be
parent43f4abfd389331aed5d245f110dcf22ebb28bf50 (diff)
downloadhercules-bb467e9764ff8f6c26fb540edd5db9af41f889c7.tar.gz
hercules-bb467e9764ff8f6c26fb540edd5db9af41f889c7.tar.bz2
hercules-bb467e9764ff8f6c26fb540edd5db9af41f889c7.tar.xz
hercules-bb467e9764ff8f6c26fb540edd5db9af41f889c7.zip
- Fixed map_nick2sd so that searching for "Adam" will not match a char named "Adam Smith". Thanks to Adam for reporting it out.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@7172 54d463be-8e91-2dee-dedb-b68131a5f0ec
-rw-r--r--Changelog-Trunk.txt2
-rw-r--r--src/map/map.c18
2 files changed, 5 insertions, 15 deletions
diff --git a/Changelog-Trunk.txt b/Changelog-Trunk.txt
index 7ba4921b2..979f96089 100644
--- a/Changelog-Trunk.txt
+++ b/Changelog-Trunk.txt
@@ -4,6 +4,8 @@ AS OF SVN REV. 5091, WE ARE NOW USING TRUNK. ALL UNTESTED BUGFIXES/FEATURES GO
IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK.
2006/06/14
+ * Fixed map_nick2sd so that searching for "Adam" will not match a char
+ named "Adam Smith". Thanks to Adam for reporting it out. [Skotlex]
* Modified how luk reduces status changes by reducing the gap. Eg: resist =
vit; resist += (max - resist)*luk/300; [Skotlex]
* Added battle settings pc_max_sc_luk/mob_max_sc_luk to handle which is the
diff --git a/src/map/map.c b/src/map/map.c
index a8672ee49..b639e8f85 100644
--- a/src/map/map.c
+++ b/src/map/map.c
@@ -1744,33 +1744,21 @@ struct map_session_data * map_charid2sd(int id) {
*------------------------------------------
*/
struct map_session_data * map_nick2sd(char *nick) {
- int i, quantity=0, nicklen, users;
+ int i, quantity=0, users;
struct map_session_data *sd = NULL;
struct map_session_data *pl_sd = NULL, **pl_allsd;
if (nick == NULL)
return NULL;
- nicklen = strlen(nick);
-
pl_allsd = map_getallusers(&users);
for (i = 0; i < users; i++) {
pl_sd = pl_allsd[i];
// Without case sensitive check (increase the number of similar character names found)
- if (strnicmp(pl_sd->status.name, nick, nicklen) == 0) {
- // Strict comparison (if found, we finish the function immediatly with correct value)
- if (strcmp(pl_sd->status.name, nick) == 0)
- return pl_sd;
- quantity++;
- sd = pl_sd;
- }
+ if (strcasecmp(pl_sd->status.name, nick) == 0)
+ return pl_sd;
}
- // Here, the exact character name is not found
- // We return the found index of a similar account ONLY if there is 1 similar character
- if (quantity == 1)
- return sd;
-
// Exact character name is not found and 0 or more than 1 similar characters have been found ==> we say not found
return NULL;
}