X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/81a21a9a97d8633f6d6231e31fdb6e328d0d3ff2..5bc2777230cdc4cea23ff87df356af3fb0cfadf9:/sbr/fmt_addr.c diff --git a/sbr/fmt_addr.c b/sbr/fmt_addr.c index 97f4271e..6d580619 100644 --- a/sbr/fmt_addr.c +++ b/sbr/fmt_addr.c @@ -1,18 +1,15 @@ - -/* - * fmt_addr.c -- format an address field (from fmt_scan) - * - * $Id$ +/* fmt_addr.c -- format an address field (from fmt_scan) * * 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. */ -#include -#include -#include -#include +#include "h/mh.h" +#include "fmt_addr.h" +#include "h/addrsbr.h" +#include "h/fmt_scan.h" +#include "h/utils.h" static char *buf; /* our current working buffer */ static char *bufend; /* end of working buffer */ @@ -29,11 +26,9 @@ static unsigned int bufsiz; /* current size of buf */ int i = dst - buf;\ int n = last_dst - buf;\ bufsiz += ((dst + len - bufend) / BUFINCR + 1) * BUFINCR;\ - buf = realloc (buf, bufsiz);\ + buf = mh_xrealloc (buf, bufsiz);\ dst = buf + i;\ last_dst = buf + n;\ - if (! buf)\ - adios (NULL, "formataddr: couldn't get buffer space");\ bufend = buf + bufsiz;\ } @@ -55,12 +50,12 @@ static unsigned int bufsiz; /* current size of buf */ char * formataddr (char *orig, char *str) { - register int len; - register int isgroup; - register char *dst; - register char *cp; - register char *sp; - register struct mailname *mp = NULL; + int len; + bool isgroup; + char *dst; + char *cp; + char *sp; + struct mailname *mp = NULL; /* if we don't have a buffer yet, get one */ if (bufsiz == 0) { @@ -85,13 +80,13 @@ formataddr (char *orig, char *str) } /* concatenate all the new addresses onto 'buf' */ - for (isgroup = 0; (cp = getname (str)); ) { - if ((mp = getm (cp, NULL, 0, fmt_norm, NULL)) == NULL) + for (isgroup = false; (cp = getname (str)); ) { + if ((mp = getm (cp, NULL, 0, NULL, 0)) == NULL) continue; if (isgroup && (mp->m_gname || !mp->m_ingrp)) { *dst++ = ';'; - isgroup = 0; + isgroup = false; } /* if we get here we're going to add an address */ if (dst != buf) { @@ -101,7 +96,7 @@ formataddr (char *orig, char *str) if (mp->m_gname) { CHECKMEM (mp->m_gname); CPY (mp->m_gname); - isgroup++; + isgroup = true; } sp = adrformat (mp); CHECKMEM (sp); @@ -114,5 +109,11 @@ formataddr (char *orig, char *str) *dst = '\0'; last_dst = dst; - return (buf); + return buf; +} + +char * +concataddr (char *orig, char *str) +{ + return formataddr(orig, str); }