#784 Inconsistency in case comparison when loading/creating/saving characters.

1.72.0
closed
nobody
server (359)
5
2014-09-21
2014-06-12
SilverNexus
No

If a character is created that has a name that matches the name of an existing character without case sensitivity, the new character will not save correctly (its entry does not show up in the accounts file, and thus cannot be loaded; but the entry does appear in the client character selection window).

To recreate: create a character (e.g. TestDummy). Go to a different account (make one if you have to) and create another character (e.g. testdummy). If both characters were given experience before they were saved, the first character will save correctly and the second will not.

Discussion

  • Kevin Zheng

    Kevin Zheng - 2014-06-15

    I can reproduce this, I'm just not sure why it is, though.

     
  • Kevin Zheng

    Kevin Zheng - 2014-06-15
    • status: open --> analyzed
     
  • Nicolas Weeger

    Nicolas Weeger - 2014-09-21

    The culprit is login.c lines 260/261.

    What happens is that the character is added to a (new) account, but only if not already existing in another account - that check is case unsensitive...

    Before the account system, characters with the same name but not the same case could exist, so I've changed the affected function to use case unsensitive comparison.

    Fixed in r19657.

     
  • Nicolas Weeger

    Nicolas Weeger - 2014-09-21
    • status: analyzed --> closed
     

Log in to post a comment.

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:





No, thanks