X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=rfc822.c;h=5f20de47290f7a1016b6809984141453f8855195;hp=10758531c4d8927e11c5c9f508af203fdbb1cef9;hb=ce220f6dc8789ed75468c63adce953fbdfed11a8;hpb=74a2265af51ce89bca845adc1d68f273c9933c13 diff --git a/rfc822.c b/rfc822.c index 1075853..5f20de4 100644 --- a/rfc822.c +++ b/rfc822.c @@ -15,19 +15,7 @@ #include #include -#ifndef TESTING #include "mutt.h" -#else -#define safe_strdup strdup -#define safe_malloc malloc -#define SKIPWS(x) while(isspace(*x))x++ -#define FREE(x) safe_free(x) -#define ISSPACE isspace -#define strfcpy(a,b,c) {if (c) {strncpy(a,b,c);a[c-1]=0;}} -#define STRING 128 -#include "rfc822.h" -#endif - #include "mutt_idna.h" #include "lib/mem.h" @@ -342,7 +330,7 @@ ADDRESS *rfc822_parse_adrlist (ADDRESS * top, const char *s) #ifdef EXACT_ADDRESS if (last && !last->val) - last->val = mutt_substrdup (begin, s); + last->val = str_substrdup (begin, s); #endif commentlen = 0; phraselen = 0; @@ -374,7 +362,7 @@ ADDRESS *rfc822_parse_adrlist (ADDRESS * top, const char *s) last = cur; #ifdef EXACT_ADDRESS - last->val = mutt_substrdup (begin, s); + last->val = str_substrdup (begin, s); #endif phraselen = 0; @@ -395,7 +383,7 @@ ADDRESS *rfc822_parse_adrlist (ADDRESS * top, const char *s) } #ifdef EXACT_ADDRESS if (last && !last->val) - last->val = mutt_substrdup (begin, s); + last->val = str_substrdup (begin, s); #endif /* add group terminator */ @@ -465,7 +453,7 @@ ADDRESS *rfc822_parse_adrlist (ADDRESS * top, const char *s) } #ifdef EXACT_ADDRESS if (last) - last->val = mutt_substrdup (begin, s); + last->val = str_substrdup (begin, s); #endif return top; @@ -477,7 +465,7 @@ void rfc822_qualify (ADDRESS * addr, const char *host) for (; addr; addr = addr->next) if (!addr->group && addr->mailbox && strchr (addr->mailbox, '@') == NULL) { - p = safe_malloc (mutt_strlen (addr->mailbox) + mutt_strlen (host) + 2); + p = safe_malloc (safe_strlen (addr->mailbox) + safe_strlen (host) + 2); sprintf (p, "%s@%s", addr->mailbox, host); /* __SPRINTF_CHECKED__ */ FREE (&addr->mailbox); addr->mailbox = p; @@ -525,7 +513,7 @@ void rfc822_write_address_single (char *buf, size_t buflen, ADDRESS * addr, if (!buflen) goto done; strfcpy (pbuf, addr->val, buflen); - len = mutt_strlen (pbuf); + len = safe_strlen (pbuf); pbuf += len; buflen -= len; if (addr->group) { @@ -566,7 +554,7 @@ void rfc822_write_address_single (char *buf, size_t buflen, ADDRESS * addr, if (!buflen) goto done; strfcpy (pbuf, addr->personal, buflen); - len = mutt_strlen (pbuf); + len = safe_strlen (pbuf); pbuf += len; buflen -= len; } @@ -589,11 +577,11 @@ void rfc822_write_address_single (char *buf, size_t buflen, ADDRESS * addr, goto done; if (ascii_strcmp (addr->mailbox, "@") && !display) { strfcpy (pbuf, addr->mailbox, buflen); - len = mutt_strlen (pbuf); + len = safe_strlen (pbuf); } else if (ascii_strcmp (addr->mailbox, "@") && display) { strfcpy (pbuf, mutt_addr_for_display (addr), buflen); - len = mutt_strlen (pbuf); + len = safe_strlen (pbuf); } else { *pbuf = '\0'; @@ -637,7 +625,7 @@ void rfc822_write_address (char *buf, size_t buflen, ADDRESS * addr, int display) { char *pbuf = buf; - size_t len = mutt_strlen (buf); + size_t len = safe_strlen (buf); buflen--; /* save room for the terminal nul */ @@ -664,7 +652,7 @@ void rfc822_write_address (char *buf, size_t buflen, ADDRESS * addr, /* this should be safe since we always have at least 1 char passed into the above call, which means `pbuf' should always be nul terminated */ - len = mutt_strlen (pbuf); + len = safe_strlen (pbuf); pbuf += len; buflen -= len; @@ -732,31 +720,3 @@ ADDRESS *rfc822_append (ADDRESS ** a, ADDRESS * b) tmp = tmp->next; return tmp; } - -#ifdef TESTING -int safe_free (void **p) -{ - free (*p); /* __MEM_CHECKED__ */ - *p = 0; -} - -int main (int argc, char **argv) -{ - ADDRESS *list; - char buf[256]; - -# if 0 - char *str = - "michael, Michael Elkins , testing a really complex address: this example <@contains.a.source.route,@with.multiple.hosts:address@example.com>;, lothar@of.the.hillpeople (lothar)"; -# else - char *str = "a b c "; -# endif - - list = rfc822_parse_adrlist (NULL, str); - buf[0] = 0; - rfc822_write_address (buf, sizeof (buf), list); - rfc822_free_address (&list); - puts (buf); - exit (0); -} -#endif