X-Git-Url: http://git.marmaro.de/?p=mmh;a=blobdiff_plain;f=sbr%2Ffmt_scan.c;h=5103dbd772697372477cda28ae083248f9611872;hp=2c16dfef9324f1566838dcf164c86fd600433b7f;hb=d5b5e6e4813b7fd77dc1664df4304537f3002cf3;hpb=39cd310f18074231e3400e53f7e5234a8615a87e diff --git a/sbr/fmt_scan.c b/sbr/fmt_scan.c index 2c16dfe..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,29 +15,18 @@ #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 */ -#ifdef LBL -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; @@ -483,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; @@ -682,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; @@ -878,28 +864,17 @@ fmt_scan(struct format *format, char *scanl, int width, int *dat) } break; - case FT_ADDTOSEQ: -#ifdef LBL - /* - ** If we're working on a folder (as opposed to a - ** file), add the current msg to sequence given - ** in literal field. Don't disturb string or - ** value registers. - */ - if (fmt_current_folder) - seq_addmsg(fmt_current_folder, fmt->f_text, dat[0], -1); -#endif - break; } 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) @@ -908,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 */ + }