Menu

#268 MPI {list:} improperly appends from environment

Minor_Bug
closed-fixed
5
2015-05-16
2011-03-11
Pyro
No

When using {list:} to grab a list on an object, if a list propdir with the same name exists on the environment, then lines from the the environment's will be appended to the list retured by {list:} if called with a terminal # on list parameter passed to {list:} and the list on the environment has more lines than the list on the object.

For instance, if a player has his two-line description stored in the propdir _redesc#, and the room he's standing in also has it's twenty-line description stored in _redesc#, then if the player uses {list:_redesc#} as his description, then lines 3-20 from the room's will be appended to the player's description when someone looks at him. {list:_redesc} doesn't do this.

Discussion

  • Pyro

    Pyro - 2011-03-11

    Commands to reproduce

     
  • Kyle Hamilton

    Kyle Hamilton - 2011-03-19

    Verified on FurryMUCK

     
  • Kyle Hamilton

    Kyle Hamilton - 2011-03-19
    • assigned_to: nobody --> winged
     
  • Revar Desmera

    Revar Desmera - 2011-03-20

    I can see why it behaves that way, but I'm tempted to just say, "Well then don't add that unnecessary terminal '#'."

    If we decide to fix this, then we should just check for that terminal #, and remove it before we do normal processing in mfun_list(), and possibly in mfun_envprop(), mfun_prop, etc.

     
  • Revar Desmera

    Revar Desmera - 2011-03-20

    Actually, it may only affect mfun_list

     
  • Revar Desmera

    Revar Desmera - 2011-03-20

    Looking at the code, the appropriate place looks like it'd be in get_concat_list(), get_list_count(), and get_list_item() in msgparse.c.

     
  • Wyld

    Wyld - 2015-05-16

    Implemented.

     
  • Wyld

    Wyld - 2015-05-16
    • status: open --> closed-fixed
     

Log in to post a comment.