]> diplodocus.org Git - nmh/commitdiff
Switch fmttest over to using snprintb() instead of the private custom version
authorKen Hornstein <kenh@pobox.com>
Thu, 14 Nov 2013 01:54:48 +0000 (20:54 -0500)
committerKen Hornstein <kenh@pobox.com>
Thu, 14 Nov 2013 01:54:48 +0000 (20:54 -0500)
we originally cribbed from fmtdump.

h/fmt_scan.h
uip/fmttest.c

index 50b597e16e6312bc6079dde3eac5e3d388d61fba..771d9fbaea4928087546927004a0c7fb35cbd5c1 100644 (file)
@@ -37,6 +37,8 @@ struct comp {
 #define        CT_ADDR       (1<<0)    /* referenced as address    */
 #define        CT_DATE       (1<<1)    /* referenced as date       */
 
+#define CT_BITS       "\020\01ADDR\02DATE"
+
 /*
  * c_flags bits
  */
@@ -45,6 +47,8 @@ struct comp {
 #define        CF_DATEFAB    (1<<2)    /* datefield fabricated */
 #define CF_TRIMMED    (1<<3)   /* Component has been trimmed */
 
+#define CF_BITS       "\020\01TRUE\02PARSED\03CF_DATEFAB\04TRIMMED"
+
 extern int fmt_norm;
 
 /*
index c8dc589dea37a5e5de4e4ccde2f45683e3f6313b..b3deda811ee4a820bf8b578729df13e8d49069ba 100644 (file)
@@ -1081,47 +1081,23 @@ f_typestr(int t)
        }
 }
 
-#define FNORD(v, s) if (t & (v)) { \
-       if (i++ > 0) \
-               strcat(buf, "|"); \
-       strcat(buf, s); }
-
 static char *
 c_typestr(int t)
 {
-       register int i;
        static char buf[64];
 
-       buf[0] = '\0';
-       if (t & ~(CT_ADDR|CT_DATE))
-               printf(buf, "0x%x ", t);
-       strcat(buf, "<");
-       i = 0;
-       FNORD(CT_ADDR, "ADDR");
-       FNORD(CT_DATE, "DATE");
-       strcat(buf, ">");
+       snprintb(buf, sizeof(buf), t, CT_BITS);
        return(buf);
 }
 
 static char *
 c_flagsstr(int t)
 {
-       register int i;
        static char buf[64];
 
-       buf[0] = '\0';
-       if (t & ~(CF_TRUE|CF_PARSED|CF_DATEFAB|CF_TRIMMED))
-               printf(buf, "0x%x ", t);
-       strcat(buf, "<");
-       i = 0;
-       FNORD(CF_TRUE, "TRUE");
-       FNORD(CF_PARSED, "PARSED");
-       FNORD(CF_DATEFAB, "DATEFAB");
-       FNORD(CF_TRIMMED, "TRIMMED");
-       strcat(buf, ">");
+       snprintb(buf, sizeof(buf), t, CF_BITS);
        return(buf);
 }
-#undef FNORD
 
 static void
 litputs(char *s)