I don't understand what I need to do, so I guess I'll just download a copy of QuickMUD with it already included. A lot less painful; apparently Danan's "walkthrough" != "working code". The walkthrough addressed none of the problems below and makes no reference to any flag_type stuff.
Thanks anyway. Jeremy Hill ----- Original Message ----- From: "Regicide" <[EMAIL PROTECTED]> To: "Jeremy Hill" <[EMAIL PROTECTED]> Cc: <[email protected]> Sent: Monday, July 01, 2002 5:25 AM Subject: Re: "Ammaross Danan's Unlimited bit system" (read: horror, so far) > > merc.h:2611: warning: `struct flag_type' declared inside parameter list > > merc.h:2611: warning: its scope is only this definition or declaration, > which is > > probably not what you want. > > This is the problem - in merc.h your definition of str_flag_string is using > the errornous > definition you have made in these lines - in all other modules, it is using > another flag_type > from somewhere else, and therefore... (probably flag_type is defined in > merc.h further down > the file) > > > bitsys.c:86: conflicting types for `str_flag_string' > > merc.h:2611: previous declaration of `str_flag_string' > > > bitsys.c:344: warning: passing arg 5 of `do_flag_norm' makes pointer from > > integer without a cast > > > > do_flag_norm( ch, victim, argument, type, victim->affected_by, > > affect_flags ); > > ....... > > > > Here's the function header for do_flag norm: > > void do_flag_norm( CHAR_DATA *ch, CHAR_DATA *victim, char *argument, > > char type, long *flag, const struct flag_type *flag_table ) > > > > relatedly, here's how victim->affected_by is laid out in merc.h: > > FLAG affected_by; > > and FLAG itself in merc.h is defined as: > > typedef int FLAG; > > long *flag in one place, int affected_by in the other... > > > act_wiz.c: In function `do_mstat': > > act_wiz.c:2464: warning: passing arg 1 of `STR_IS_ZERO' makes pointer from > > integer without a cast > > 2464: if ( !STR_IS_ZERO(victim->affected_by, AFF_FLAGS) ) > > > > In merc.h, STR_IS_ZERO is defined as: > > bool STR_IS_ZERO args( ( FLAG *var, int size ) ); > > same problem here - your function requires a pointer to a FLAG (integer), > and you call > it with an integer. > > > act_wiz.c:2467: warning: passing arg 1 of `affect_str_bit_name' makes > pointer > > from integer without a cast > > 2467: affect_str_bit_name(victim->affected_by)); > > and again ... > > /Reg. > > > > -- > ROM mailing list > [email protected] > http://www.rom.org/cgi-bin/mailman/listinfo/rom >

