X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/ecd50cc5f6c2a427e821483993678b78c94ffdfd..06efa573c7894caa4e5aa1ac7c64bd10ea25928b:/sbr/fmt_compile.c?ds=sidebyside diff --git a/sbr/fmt_compile.c b/sbr/fmt_compile.c index 3930f8ca..216b8e71 100644 --- a/sbr/fmt_compile.c +++ b/sbr/fmt_compile.c @@ -35,7 +35,7 @@ * * - Add code to fmttest.c to display your new function. * - * - Document the new function in the mh-format(5) man page. + * - Document the new function in mh-format(5). * */ @@ -280,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 { \ @@ -351,7 +352,7 @@ lookup(char *name) while ((nm = t->name)) { if (*nm == c && strcmp (nm, name) == 0) - return (ftbl = t); + return ftbl = t; t++; } @@ -375,7 +376,7 @@ compile_error(char *str, char *cp) inform("\"%s\": format compile error - %s", &usr_fstring[errpos-errctx], str); - adios (NULL, "%*s", errctx+1, "^"); + die("%*s", errctx+1, "^"); } /* @@ -389,14 +390,14 @@ fmt_compile(char *fstring, struct format **fmt, int reset_comptable) { char *cp; size_t i; - static int comptable_initialized = 0; + static bool comptable_initialized; format_string = mh_xstrdup(fstring); usr_fstring = fstring; if (reset_comptable || !comptable_initialized) { free_comptable(); - comptable_initialized = 1; + comptable_initialized = true; } /* it takes at least 4 char to generate one format so we @@ -418,7 +419,7 @@ fmt_compile(char *fstring, struct format **fmt, int reset_comptable) *fmt = formatvec; free(format_string); - return (ncomp); + return ncomp; } static char * @@ -443,7 +444,7 @@ compile (char *sp) break; } if (c == 0) - return (cp); + return cp; switch (c = *++cp) { case '%': @@ -455,7 +456,7 @@ compile (char *sp) case '>': case '?': case ']': - return (cp); + return cp; case '<': cp = do_if(++cp); @@ -487,15 +488,13 @@ do_spec(char *sp) { char *cp = sp; int c; -#ifndef lint - int ljust = 0; -#endif /* not lint */ + bool ljust = false; int wid = 0; char fill = ' '; c = *cp++; if (c == '-') { - ljust++; + ljust = true; c = *cp++; } if (c == '0') { @@ -530,7 +529,7 @@ do_spec(char *sp) fp->f_width = wid; fp->f_fill = fill; - return (cp); + return cp; } /* @@ -544,7 +543,7 @@ do_name(char *sp, int preprocess) char *cp = sp; int c; int i; - static int primed = 0; + static bool primed; while (isalnum(c = *cp++) || c == '-' || c == '_') ; @@ -574,7 +573,7 @@ do_name(char *sp, int preprocess) case FT_GETMYADDR: if (!primed) { ismymbox(NULL); - primed++; + primed = true; } /* FALLTHRU */ case FT_PARSEADDR: @@ -594,7 +593,7 @@ do_name(char *sp, int preprocess) cm->c_type |= CT_ADDR; break; } - return (cp); + return cp; } /* @@ -758,7 +757,7 @@ do_func(char *sp) CERROR("')' expected"); } --infunction; - return (cp); + return cp; } /* @@ -777,13 +776,13 @@ do_expr (char *sp, int preprocess) } else if (c == '(') { cp = do_func (cp); } else if (c == ')') { - return (--cp); + return --cp; } else if (c == '%' && *cp == '<') { cp = do_if (cp+1); } else { CERROR ("'(', '{', '%<' or ')' expected"); } - return (cp); + return cp; } /* @@ -855,7 +854,7 @@ do_if(char *sp) { char *cp = sp; struct format *fexpr, - *fif = (struct format *)NULL; + *fif = NULL; int c = '<'; for (;;) { @@ -896,7 +895,7 @@ do_if(char *sp) fif = fp; /* loc of GOTO */ fexpr->f_skip = next_fp - fexpr; - fexpr = (struct format *)NULL;/* no extra ENDIF */ + fexpr = NULL; /* no extra ENDIF */ cp = compile (cp); /* compile ELSE stmts */ fif->f_skip = next_fp - fif; @@ -920,7 +919,7 @@ do_if(char *sp) if (fexpr) /* IF ... [ELSIF ...] ENDIF */ fexpr->f_skip = next_fp - fexpr; - return (cp); + return cp; } /* @@ -968,7 +967,7 @@ fmt_freecomptext(void) for (i = 0; i < DIM(wantcomp); i++) for (cm = wantcomp[i]; cm; cm = cm->c_next) { - mh_xfree(cm->c_text); + free(cm->c_text); cm->c_text = NULL; } } @@ -1045,13 +1044,15 @@ fmt_addcompentry(char *component) int fmt_addcomptext(char *component, char *text) { - int i, found = 0, bucket = CHASH(component); + int i; + bool found = false; + int bucket = CHASH(component); struct comp *cptr = wantcomp[bucket]; char *cp; while (cptr) { if (strcasecmp(component, FENDNULL(cptr->c_name)) == 0) { - found++; + found = true; if (! cptr->c_text) { cptr->c_text = getcpy(text); } else { @@ -1142,8 +1143,8 @@ free_component(struct comp *cm) { if (--cm->c_refcount <= 0) { /* Shouldn't ever be NULL, but just in case ... */ - mh_xfree(cm->c_name); - mh_xfree(cm->c_text); + free(cm->c_name); + free(cm->c_text); if (cm->c_type & CT_DATE) free(cm->c_tws); if (cm->c_type & CT_ADDR && cm->c_mn && cm->c_mn != &fmt_mnull)