** This code is Copyright (c) 2002, by the authors of nmh. See the
** COPYRIGHT file in the root directory of the nmh distribution for
** complete copyright information.
+**
+** This is the engine that processes the format instructions created by
+** fmt_compile (found in fmt_compile.c).
*/
#include <h/mh.h>
#include <h/tws.h>
#include <h/fmt_compile.h>
-#ifdef TIME_WITH_SYS_TIME
+#ifdef HAVE_SYS_TIME_H
# include <sys/time.h>
-# include <time.h>
-#else
-# ifdef TM_IN_SYS_TIME
-# include <sys/time.h>
-# else
-# include <time.h>
-# endif
#endif
+#include <time.h>
+
#ifdef MULTIBYTE_SUPPORT
# include <wctype.h>
# include <wchar.h>
#endif
-#define NFMTS MAXARGS
-
-extern char *formataddr(); /* hook for custom address formatting */
-
extern int fmt_norm; /* defined in sbr/fmt_def.c = AD_NAME */
struct mailname fmt_mnull;
ljust++;
}
- if (!ljust && i > 0 && strlen(str) > i)
+ if (!ljust && i > 0 && (int)strlen(str) > i)
str[i] = '\0';
xp = str;
xp += strlen(str) - 1;
while (xp > str && isspace(*xp))
*xp-- = '\0';
- if (ljust && i > 0 && strlen(str) > i)
+ if (ljust && i > 0 && (int)strlen(str) > i)
str += strlen(str) - i;
}
break;
value = fmt->f_comp->c_tws->tw_flags & TW_DST;
break;
case FT_LS_822DATE:
- str = dasctime(fmt->f_comp->c_tws , TW_ZONE);
- break;
case FT_LS_PRETTY:
- str = dasctime(fmt->f_comp->c_tws, TW_NULL);
+ str = dasctime(fmt->f_comp->c_tws);
break;
case FT_LS_PERS:
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) {