[CF-Devel] Path: party gsay improvment

crossfire-devel at archives.real-time.com crossfire-devel at archives.real-time.com
Sun Jun 6 23:32:50 CDT 2004


Andreas Kirschbaum wrote:
>
     
      I suppose there is a bug in this patch:
     
     >
     
     
     >>
     
     @@ -156,7 +156,7 @@
     
     >>
     
        int no=op->contr->party_number;
     
     >>
     
        for(pl=first_player;pl!=NULL;pl=pl->next)
     
     >>
     
          if(pl->ob->contr->party_number==no && pl->ob!=op)
     
     >>
     
     -       new_draw_info(NDI_UNIQUE, NDI_WHITE, pl->ob, msg);
     
     >>
     
     +       new_draw_info_format(NDI_WHITE, 0, pl->ob, msg);
     
     >>
     
      }
     
     >>
     
     
     >>
     
      int command_gsay(object *op, char *params)
     
     >
     
     
     >
     
     
     >
     
      It should be
     
     >
     
     
     >
     
      +       new_draw_info_format(NDI_WHITE, 0, pl->ob, "%s", msg);
     
     >
     
                                                         ^^^^
     
     >
     
     
     >
     
      to prevent problems with messages that contain '%' characters.
     
     
  Actually, if you're doing to do that, might as well just call new_draw_info(), 
as the original code did.

  In fact, I have no idea what the code is trying to fix - my only guess is that 
the color should be white, and whoever put that code in, didn't realize the 
paramter passing.

  So something like new_draw_info(NDI_WHITE, 0, ...) should be find.  The 
original usage of new_draw_info was no more broken that using the same paramter 
list for new_draw_info_format (eg, passing NDI_WHITE as the second pamaeter).

  Other than that, it looks fine.



_______________________________________________
crossfire-devel mailing list
     
     crossfire-devel at lists.real-time.com
     
     
     https://mailman.real-time.com/mailman/listinfo/crossfire-devel
     
     
    


More information about the crossfire mailing list