X-Git-Url: http://git.marmaro.de/?p=mmh;a=blobdiff_plain;f=sbr%2Ffmt_scan.c;h=5103dbd772697372477cda28ae083248f9611872;hp=2609679629623e785318ad6c9bb36eb51302bf49;hb=d5b5e6e4813b7fd77dc1664df4304537f3002cf3;hpb=5d4f603fcfc7cf4a238b27de2b18567a733bb6b4 diff --git a/sbr/fmt_scan.c b/sbr/fmt_scan.c index 2609679..5103dbd 100644 --- a/sbr/fmt_scan.c +++ b/sbr/fmt_scan.c @@ -4,6 +4,9 @@ ** 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 @@ -12,23 +15,16 @@ #include #include -#ifdef TIME_WITH_SYS_TIME +#ifdef HAVE_SYS_TIME_H # include -# include -#else -# ifdef TM_IN_SYS_TIME -# include -# else -# include -# endif #endif +#include + #ifdef MULTIBYTE_SUPPORT # include # include #endif -#define NFMTS MAXARGS - extern char *formataddr(); /* hook for custom address formatting */ extern int fmt_norm; /* defined in sbr/fmt_def.c = AD_NAME */ @@ -479,13 +475,13 @@ fmt_scan(struct format *format, char *scanl, int width, int *dat) 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; @@ -678,15 +674,9 @@ fmt_scan(struct format *format, char *scanl, int width, int *dat) case LOCALHOST: str = mn->m_mbox; break; - case UUCPHOST: - snprintf(buffer, sizeof(buffer), "%s!%s", - mn->m_host, mn->m_mbox); - str = buffer; - break; default: if (mn->m_mbox) { - snprintf(buffer, sizeof(buffer), "%s@%s", - mn->m_mbox, mn->m_host); + snprintf(buffer, sizeof(buffer), "%s@%s", mn->m_mbox, mn->m_host); str= buffer; } else str = mn->m_text; @@ -877,13 +867,14 @@ fmt_scan(struct format *format, char *scanl, int width, int *dat) } fmt++; } -#ifndef JLR - finished:; +finished:; if (cp[-1] != '\n') *cp++ = '\n'; - *cp = 0; + *cp = '\0'; return ((struct format *)0); -#else /* JLR */ + +#ifdef JLR + /* I'll remove this as soon as I understand what it does. --meillo */ if (cp[-1] != '\n') *cp++ = '\n'; while (fmt->f_type != FT_DONE) @@ -892,6 +883,6 @@ fmt_scan(struct format *format, char *scanl, int width, int *dat) finished:; *cp = '\0'; return (fmt->f_value ? ++fmt : (struct format *) 0); - #endif /* JLR */ + }