]> diplodocus.org Git - nmh/blobdiff - uip/fmtdump.c
read_switch.c: Move interface declaration to own file.
[nmh] / uip / fmtdump.c
index 430a42e40738f5fb6c1993f0d9c615b8d81dd98f..c43b412dbfc1a888fdaf484da0a23434c0a725e3 100644 (file)
@@ -5,11 +5,17 @@
  * complete copyright information.
  */
 
-#include <h/mh.h>
-#include <h/fmt_scan.h>
-#include <h/fmt_compile.h>
-#include <h/scansbr.h>
-#include <h/utils.h>
+#include "h/mh.h"
+#include "sbr/smatch.h"
+#include "sbr/ambigsw.h"
+#include "sbr/print_version.h"
+#include "sbr/print_help.h"
+#include "sbr/error.h"
+#include "h/fmt_scan.h"
+#include "h/fmt_compile.h"
+#include "h/scansbr.h"
+#include "h/done.h"
+#include "h/utils.h"
 
 #define FMTDUMP_SWITCHES \
     X("form formatfile", 0, FORMSW) \
@@ -50,7 +56,7 @@ main (int argc, char **argv)
     char buf[BUFSIZ], *nfs, **argp, **arguments;
     struct format *fmt;
 
-    if (nmh_init(argv[0], 2)) { return 1; }
+    if (nmh_init(argv[0], true, false)) { return 1; }
 
     arguments = getarguments (invo_name, argc, argv, 1);
     argp = arguments;
@@ -62,7 +68,7 @@ main (int argc, char **argv)
                    ambigsw (cp, switches);
                    done (1);
                case UNKWNSW: 
-                   adios (NULL, "-%s unknown", cp);
+                   die("-%s unknown", cp);
 
                case HELPSW: 
                    snprintf (buf, sizeof(buf), "%s [switches]", invo_name);
@@ -74,19 +80,19 @@ main (int argc, char **argv)
 
                case FORMSW: 
                    if (!(form = *argp++) || *form == '-')
-                       adios (NULL, "missing argument to %s", argp[-2]);
+                       die("missing argument to %s", argp[-2]);
                    format = NULL;
                    continue;
                case FMTSW: 
                    if (!(format = *argp++) || *format == '-')
-                       adios (NULL, "missing argument to %s", argp[-2]);
+                       die("missing argument to %s", argp[-2]);
                    form = NULL;
                    continue;
 
            }
        }
        if (form)
-           adios (NULL, "only one form at a time!");
+           die("only one form at a time!");
         form = cp;
     }
 
@@ -154,7 +160,7 @@ dumpone(struct format *fmt)
        case FT_LS_COMP:
        case FT_LV_COMPFLAG:
        case FT_LV_COMP:
-               printf(", comp ");
+               fputs(", comp ", stdout);
                litputs(fmt->f_comp->c_name);
                if (fmt->f_comp->c_type)
                        printf(", c_type %s", c_typestr(fmt->f_comp->c_type));
@@ -186,7 +192,7 @@ dumpone(struct format *fmt)
        case FT_LOCALDATE:
        case FT_GMTDATE:
        case FT_PARSEDATE:
-               printf(", c_name ");
+               fputs(", c_name ", stdout);
                litputs(fmt->f_comp->c_name);
                if (fmt->f_comp->c_type)
                        printf(", c_type %s", c_typestr(fmt->f_comp->c_type));
@@ -210,7 +216,7 @@ dumpone(struct format *fmt)
        case FT_MYMBOX:
        case FT_GETMYMBOX:
        case FT_GETMYADDR:
-               printf(", c_name ");
+               fputs(", c_name ", stdout);
                litputs(fmt->f_comp->c_name);
                if (fmt->f_comp->c_type)
                        printf(", c_type %s", c_typestr(fmt->f_comp->c_type));
@@ -221,7 +227,7 @@ dumpone(struct format *fmt)
        case FT_COMPF:
                printf(", width %d, fill '", fmt->f_width);
                litputc(fmt->f_fill);
-               printf("' name ");
+               fputs("' name ", stdout);
                litputs(fmt->f_comp->c_name);
                if (fmt->f_comp->c_type)
                        printf(", c_type %s", c_typestr(fmt->f_comp->c_type));
@@ -244,7 +250,7 @@ dumpone(struct format *fmt)
        case FT_LITF:
                printf(", width %d, fill '", fmt->f_width);
                litputc(fmt->f_fill);
-               printf("' ");
+               fputs("' ", stdout);
                litputs(fmt->f_text);
                break;
 
@@ -260,7 +266,7 @@ dumpone(struct format *fmt)
        case FT_IF_S_NULL:
        case FT_IF_MATCH:
        case FT_IF_AMATCH:
-               printf(" continue else goto");
+               fputs(" continue else goto", stdout);
                /* FALLTHRU */
        case FT_GOTO:
                i = findlabel(fmt + fmt->f_skip);
@@ -287,17 +293,17 @@ dumpone(struct format *fmt)
                break;
 
        case FT_LS_LIT:
-               printf(" str ");
+               fputs(" str ", stdout);
                litputs(fmt->f_text);
                break;
 
        case FT_LS_GETENV:
-               printf(" getenv ");
+               fputs(" getenv ", stdout);
                litputs(fmt->f_text);
                break;
 
        case FT_LS_DECODECOMP:
-               printf(", comp ");
+               fputs(", comp ", stdout);
                litputs(fmt->f_comp->c_name);
                break;
 
@@ -322,8 +328,8 @@ findlabel(struct format *addr)
 
        for (i = 0; i < lused; ++i)
                if (addr == lvec[i])
-                       return(i);
-       return(-1);
+                       return i;
+       return -1;
 }
 
 static void
@@ -435,7 +441,7 @@ f_typestr(int t)
        case FT_V_AMATCH: return "V_AMATCH";
        default:
                 snprintf(buf, sizeof buf, "/* ??? #%d */", t);
-               return(buf);
+               return buf;
        }
 }
 
@@ -458,7 +464,7 @@ c_typestr(int t)
        FNORD(CT_ADDR, "ADDR");
        FNORD(CT_DATE, "DATE");
        strcat(buf, ">");
-       return(buf);
+       return buf;
 }
 
 static char *
@@ -477,7 +483,7 @@ c_flagsstr(int t)
        FNORD(CF_DATEFAB, "DATEFAB");
        FNORD(CF_TRIMMED, "TRIMMED");
        strcat(buf, ">");
-       return(buf);
+       return buf;
 }
 #undef FNORD