matoom/frostbite

Broken parsing of the cmd with single quote

fourier opened this issue · 2 comments

Steps to reproduce:
In Crossing, type urchin places, the output will be:

Valid places:
    City                  Location
----------------------------------
    Arthe Dale            Arthe Dale, Village Gate
    Crossing              Crossing, Town Green North
    Crossing              Bank
    Crossing              Pawnshop
    Crossing              Furrier
    Crossing              Gemshop (!)
    Crossing              Carousel (!)
    Crossing              Crossing Guardhouse
    Crossing              Healer (!)
    Crossing              Temple (!)
    Crossing              Barbarian Guild
    Crossing              Bard Guild
    Crossing              Cleric Guild
    Crossing              Empath Guild
    Crossing              Moon Mage Guild (*)
    Crossing              Paladin Guild
    Crossing              Ranger Guild
    Crossing              Trader Guild
    Crossing              Warrior Mage Guild
    Dirge                 Dirge, Crossroads
    Leth Deriel           <d cmd='urchin guide Leth Deriel, Sana'ati Dyaus Drui'tas'>Leth Deriel, Sana'ati Dyaus Drui'tas</d>
    Leth Deriel           Leth Deriel Guardhouse (!)
    Stone Clan            Lairocott Brach, Saverack
    Tiger Clan            Tiger Clan Home, Dirt Pathway
    Wolf Clan             Wolf Clan Home, Dirt Road
 
Use URCHIN GUIDE {Location} to be guided to that destination if a guide is available.
  (*) These destinations lack justice, and thus don't have return guides.
  (!) These destinations ward against teleportation, and thus won't have return guides.
  Travel carefully and at your own risk to these places!

So the output for the Leth Deriel, Sana'ati Dyaus Drui'tas is broken.

I've been debating whether if this is even worth fixing but i guess why not. Can't exactly feed this broken crap to an actual XML parser, so that's going to be another hack on the client-side then.

I've added a regexp to deal with "cmd" tags specifically to fix the broken XML and that hopefully takes care of it without breaking anything else along the way. This is not exactly ideal.

Looks like it fixed it, thanks!