Report an error when the width used by putaddr is less than the label width.
[mmh] / sbr / fmt_scan.c
index 9c1eb16..f689300 100644 (file)
@@ -33,7 +33,8 @@ struct msgs *fmt_current_folder; /* current folder (set by main program) */
 #endif
 
 extern int fmt_norm;           /* defined in sbr/fmt_def.c = AD_NAME */
-struct mailname fmt_mnull;
+struct mailname fmt_mnull = { NULL, NULL, NULL, NULL, NULL, NULL, 0, 0, 0, 0,
+                             NULL, NULL };
 
 /*
  * static prototypes
@@ -821,6 +822,10 @@ fmt_scan (struct format *format, char *scanl, int width, int *dat)
            sp = fmt->f_text;
            indent = strlen (sp);
            wid -= indent;
+           if (wid <= 0) {
+               adios(NULL, "putaddr -- num register (%d) must be greater "
+                           "than label width (%d)", value, indent);
+           }
            while( (c = *sp++) && cp < ep)
                *cp++ = c;
            while (len > wid) {