X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/ecd50cc5f6c2a427e821483993678b78c94ffdfd..94187a80bd60baab4b9c4b949ad820d730578123:/sbr/fmt_compile.c diff --git a/sbr/fmt_compile.c b/sbr/fmt_compile.c index 3930f8ca..2ad46cf5 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++; } @@ -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,9 +488,7 @@ do_spec(char *sp) { char *cp = sp; int c; -#ifndef lint int ljust = 0; -#endif /* not lint */ int wid = 0; char fill = ' '; @@ -530,7 +529,7 @@ do_spec(char *sp) fp->f_width = wid; fp->f_fill = fill; - return (cp); + return cp; } /* @@ -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; } } @@ -1142,8 +1141,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)