X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/9514ca81bd12a47df977822efc14ff285bd5bc10..d247f1cf67f3e579ccddfa986c603dd91880cbe7:/sbr/fmt_compile.c diff --git a/sbr/fmt_compile.c b/sbr/fmt_compile.c index f4c8d5dc..ff0cf013 100644 --- a/sbr/fmt_compile.c +++ b/sbr/fmt_compile.c @@ -46,6 +46,7 @@ #include #include #include +#include "terminal.h" #ifdef HAVE_SYS_TIME_H # include @@ -279,11 +280,12 @@ static struct colormap colortable[] = { /* * Find a component in the hash table. */ -#define FINDCOMP(comp,name) \ - for (comp = wantcomp[CHASH(name)]; \ - comp && strcmp(comp->c_name,name); \ - comp = comp->c_next) \ - ; +#define FINDCOMP(comp,name) do { \ + for (comp = wantcomp[CHASH(name)]; \ + comp && strcmp(comp->c_name,name); \ + comp = comp->c_next) \ + ; \ + } while (0) /* Add new component to the hash table */ #define NEWCOMP(cm,name) do { \ @@ -296,9 +298,8 @@ static struct colormap colortable[] = { wantcomp[i] = cm; \ } while (0) -#define NEWFMT (next_fp++) #define NEW_FP(type,fill,wid) do {\ - fp=NEWFMT; fp->f_type=(type); fp->f_fill=(fill); fp->f_width=(wid); \ + fp=next_fp++; fp->f_type=(type); fp->f_fill=(fill); fp->f_width=(wid); \ } while (0) /* Add (possibly new) component to the hash table */ @@ -355,7 +356,7 @@ lookup(char *name) t++; } - return (struct ftable *) 0; + return NULL; } @@ -365,7 +366,7 @@ compile_error(char *str, char *cp) int i, errpos, errctx; errpos = cp - format_string; - errctx = errpos > 20 ? 20 : errpos; + errctx = min(errpos, 20); usr_fstring[errpos] = '\0'; for (i = errpos-errctx; i < errpos; i++) { @@ -560,7 +561,7 @@ do_name(char *sp, int preprocess) CERROR("component used as both date and address"); } if (cm->c_tws) { - memset (cm->c_tws, 0, sizeof *cm->c_tws); + ZERO(cm->c_tws); } else { NEW0(cm->c_tws); } @@ -573,7 +574,7 @@ do_name(char *sp, int preprocess) case FT_GETMYMBOX: case FT_GETMYADDR: if (!primed) { - ismymbox ((struct mailname *) 0); + ismymbox(NULL); primed++; } /* FALLTHRU */ @@ -733,7 +734,7 @@ do_func(char *sp) } case TF_NOW: - LV(t->f_type, time((time_t *) 0)); + LV(t->f_type, time(NULL)); break; case TF_EXPR_SV: @@ -966,7 +967,7 @@ fmt_freecomptext(void) unsigned int i; struct comp *cm; - for (i = 0; i < sizeof(wantcomp)/sizeof(wantcomp[0]); i++) + for (i = 0; i < DIM(wantcomp); i++) for (cm = wantcomp[i]; cm; cm = cm->c_next) { mh_xfree(cm->c_text); cm->c_text = NULL; @@ -998,7 +999,7 @@ fmt_findcasecomp(char *component) struct comp *cm; for (cm = wantcomp[CHASH(component)]; cm; cm = cm->c_next) - if (strcasecmp(component, cm->c_name ? cm->c_name : "") == 0) + if (strcasecmp(component, FENDNULL(cm->c_name)) == 0) break; return cm; @@ -1050,7 +1051,7 @@ fmt_addcomptext(char *component, char *text) char *cp; while (cptr) { - if (strcasecmp(component, cptr->c_name ? cptr->c_name : "") == 0) { + if (strcasecmp(component, FENDNULL(cptr->c_name)) == 0) { found++; if (! cptr->c_text) { cptr->c_text = getcpy(text); @@ -1085,7 +1086,7 @@ fmt_appendcomp(int bucket, char *component, char *text) if (bucket != -1) { for (cptr = wantcomp[bucket]; cptr; cptr = cptr->c_next) - if (strcasecmp(component, cptr->c_name ? cptr->c_name : "") == 0) + if (strcasecmp(component, FENDNULL(cptr->c_name)) == 0) cptr->c_text = add(text, cptr->c_text); } } @@ -1102,7 +1103,7 @@ fmt_nextcomp(struct comp *comp, unsigned int *bucket) else comp = comp->c_next; - while (comp == NULL && *bucket < sizeof(wantcomp)/sizeof(wantcomp[0])) { + while (comp == NULL && *bucket < DIM(wantcomp)) { comp = wantcomp[(*bucket)++]; } @@ -1119,7 +1120,7 @@ free_comptable(void) unsigned int i; struct comp *cm, *cm2; - for (i = 0; i < sizeof(wantcomp)/sizeof(wantcomp[0]); i++) { + for (i = 0; i < DIM(wantcomp); i++) { cm = wantcomp[i]; while (cm != NULL) { cm2 = cm->c_next;