X-Git-Url: http://git.marmaro.de/?p=mmh;a=blobdiff_plain;f=sbr%2Ffmt_compile.c;h=2b32e7152a9fe45d8b8a2d68d86a1765589a9fff;hp=28a96e69978d10c7ea5e3218d9b3fb9ea33e8d2d;hb=fc9279e818dfc96c63a5d75a89080cc68cfe1170;hpb=72795bfcbe9f7fee8927b1a4942c0230b0f857a8 diff --git a/sbr/fmt_compile.c b/sbr/fmt_compile.c index 28a96e6..2b32e71 100644 --- a/sbr/fmt_compile.c +++ b/sbr/fmt_compile.c @@ -39,6 +39,7 @@ */ #include +#include #include #include #include @@ -202,13 +203,14 @@ static struct ftable functable[] = { { "mymbox", TF_COMP, FT_LV_COMPFLAG, FT_MYMBOX, TFL_PUTN }, { "unquote", TF_EXPR, FT_LS_UNQUOTE, 0, TFL_PUTS}, + { "unmailto", TF_EXPR, FT_LS_UNMAILTO, 0, TFL_PUTS}, { NULL, 0, 0, 0, 0 } }; /* Add new component to the hash table */ #define NEWCOMP(cm,name) do { \ - cm = ((struct comp *) mh_xcalloc(1, sizeof (struct comp)));\ + cm = (mh_xcalloc(1, sizeof (struct comp)));\ cm->c_name = name;\ ncomp++;\ i = CHASH(name);\ @@ -307,8 +309,8 @@ fmt_compile(char *fstring, struct format **fmt) size_t i; if (format_string) - free(format_string); - format_string = getcpy(fstring); + mh_free0(&format_string); + format_string = mh_xstrdup(fstring); usr_fstring = fstring; /* init the component hash table. */ @@ -327,8 +329,7 @@ fmt_compile(char *fstring, struct format **fmt) i = strlen(fstring)/2 + 1; if (i == 1) i++; - next_fp = formatvec = (struct format *)mh_xcalloc((size_t) i, - sizeof(struct format)); + next_fp = formatvec = mh_xcalloc(i, sizeof(struct format)); if (next_fp == NULL) adios(EX_OSERR, NULL, "unable to allocate format storage"); @@ -479,8 +480,7 @@ do_name(char *sp, int preprocess) if (cm->c_type & CT_ADDR) { CERROR("component used as both date and address"); } - cm->c_tws = (struct tws *) - mh_xcalloc((size_t) 1, sizeof(*cm->c_tws)); + cm->c_tws = mh_xcalloc(1, sizeof(*cm->c_tws)); fp->f_type = preprocess; PUTCOMP(sp); cm->c_type |= CT_DATE;