X-Git-Url: http://git.marmaro.de/?p=mmh;a=blobdiff_plain;f=uip%2Ffmtdump.c;h=cc9a589a04763707de2ef919a00351150d390d44;hp=cc0bc70402a8ecaf0283ddf189c87f7940d47a64;hb=cafee7a804b8aa53166065e988ec0fc387862fc8;hpb=f8665df65d2bc3552b68c734a7b3975d95ccdc41;ds=sidebyside diff --git a/uip/fmtdump.c b/uip/fmtdump.c index cc0bc70..cc9a589 100644 --- a/uip/fmtdump.c +++ b/uip/fmtdump.c @@ -39,6 +39,7 @@ static int findlabel(struct format *); static void assignlabel(struct format *); static char *f_typestr(int); static char *c_typestr(int); +static char *c_flagsstr(int); static void litputs(char *); static void litputc(char); @@ -163,7 +164,7 @@ dumpone(struct format *fmt) if (fmt->f_comp->c_type) printf(", c_type %s", c_typestr(fmt->f_comp->c_type)); if (fmt->f_comp->c_flags) - printf(", c_flags %d", fmt->f_comp->c_flags); + printf(", c_flags %s", c_flagsstr(fmt->f_comp->c_flags)); break; case FT_LV_SEC: @@ -195,7 +196,7 @@ dumpone(struct format *fmt) if (fmt->f_comp->c_type) printf(", c_type %s", c_typestr(fmt->f_comp->c_type)); if (fmt->f_comp->c_flags) - printf(", c_flags %d", fmt->f_comp->c_flags); + printf(", c_flags %s", c_flagsstr(fmt->f_comp->c_flags)); break; case FT_LS_ADDR: @@ -217,7 +218,7 @@ dumpone(struct format *fmt) if (fmt->f_comp->c_type) printf(", c_type %s", c_typestr(fmt->f_comp->c_type)); if (fmt->f_comp->c_flags) - printf(", c_flags %d", fmt->f_comp->c_flags); + printf(", c_flags %s", c_flagsstr(fmt->f_comp->c_flags)); break; case FT_COMPF: @@ -228,7 +229,7 @@ dumpone(struct format *fmt) if (fmt->f_comp->c_type) printf(", c_type %s", c_typestr(fmt->f_comp->c_type)); if (fmt->f_comp->c_flags) - printf(", c_flags %d", fmt->f_comp->c_flags); + printf(", c_flags %s", c_flagsstr(fmt->f_comp->c_flags)); break; case FT_STRF: @@ -452,19 +453,35 @@ c_typestr(int t) static char buf[64]; buf[0] = '\0'; - if (t & ~(CT_ADDR|CT_DATE|CT_MYMBOX|CT_ADDRPARSE)) + if (t & ~(CT_ADDR|CT_DATE)) printf(buf, "0x%x ", t); strcat(buf, "<"); i = 0; FNORD(CT_ADDR, "ADDR"); FNORD(CT_DATE, "DATE"); - FNORD(CT_MYMBOX, "MYMBOX"); - FNORD(CT_ADDRPARSE, "ADDRPARSE"); strcat(buf, ">"); return(buf); -#undef FNORD } +static char * +c_flagsstr(int t) +{ + register int i; + static char buf[64]; + + buf[0] = '\0'; + if (t & ~(CF_TRUE|CF_PARSED|CF_DATEFAB)) + printf(buf, "0x%x ", t); + strcat(buf, "<"); + i = 0; + FNORD(CF_TRUE, "TRUE"); + FNORD(CF_PARSED, "PARSED"); + FNORD(CF_DATEFAB, "DATEFAB"); + strcat(buf, ">"); + return(buf); +} +#undef FNORD + static void litputs(char *s) {