The main error/warning you need to consider here is the parse error on line 35. The first error (if it is a parse error) is usually the source of the majority of the following errors, so lets fix this first. When defining things, you MUST keep it all on one line. Now obviously it would be very tedious to make all of that on one line, and make it even harder to fix any errors associated with it, so the programmers made a way for you to insert an \ at the end of each line, and the compiler would think that the next line is a continuation of the current. Try setting it out like this:

char * mprog_type_to_name ( int type );

#define ALT_FLAGVALUE_SET ( _blargh, _table, _arg ) \
  { \
    int blah = flag_value( _table, _arg ); \
    _blargh = (blah == NO_FLAG) ? 0 : blah; \
  }

#define ALT_FLAGVALUE_TOGGLE( _blargh, _table, _arg ) \
  { \
    int blah = flag_value( _table, _arg ); \
    _blargh ^= (blah == NO_FLAG) ? 0 : blah; \
  }


Reply via email to