Rocco Rutte:
[apps/madmutt.git] / rfc822.c
index cc13a67..19fb086 100644 (file)
--- a/rfc822.c
+++ b/rfc822.c
@@ -1,19 +1,10 @@
 /*
+ * Copyright notice from original mutt:
  * Copyright (C) 1996-2000 Michael R. Elkins <me@mutt.org>
- * 
- *     This program is free software; you can redistribute it and/or modify
- *     it under the terms of the GNU General Public License as published by
- *     the Free Software Foundation; either version 2 of the License, or
- *     (at your option) any later version.
- * 
- *     This program is distributed in the hope that it will be useful,
- *     but WITHOUT ANY WARRANTY; without even the implied warranty of
- *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *     GNU General Public License for more details.
- * 
- *     You should have received a copy of the GNU General Public License
- *     along with this program; if not, write to the Free Software
- *     Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111, USA.
+ *
+ * This file is part of mutt-ng, see http://www.muttng.org/.
+ * It's licensed under the GNU General Public License,
+ * please see the file GPL in the top level source directory.
  */
 
 #if HAVE_CONFIG_H
 #include <ctype.h>
 #include <stdlib.h>
 
-#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"
+#include "lib/intl.h"
+#include "lib/str.h"
+
 #define terminate_string(a, b, c) do { if ((b) < (c)) a[(b)] = 0; else \
        a[(c)] = 0; } while (0)
 
@@ -87,9 +70,6 @@ void rfc822_free_address (ADDRESS ** p)
   while (*p) {
     t = *p;
     *p = (*p)->next;
-#ifdef EXACT_ADDRESS
-    FREE (&t->val);
-#endif
     FREE (&t->personal);
     FREE (&t->mailbox);
     FREE (&t);
@@ -345,10 +325,6 @@ ADDRESS *rfc822_parse_adrlist (ADDRESS * top, const char *s)
         last->personal = safe_strdup (comment);
       }
 
-#ifdef EXACT_ADDRESS
-      if (last && !last->val)
-        last->val = mutt_substrdup (begin, s);
-#endif
       commentlen = 0;
       phraselen = 0;
       s++;
@@ -378,10 +354,6 @@ ADDRESS *rfc822_parse_adrlist (ADDRESS * top, const char *s)
         top = cur;
       last = cur;
 
-#ifdef EXACT_ADDRESS
-      last->val = mutt_substrdup (begin, s);
-#endif
-
       phraselen = 0;
       commentlen = 0;
       s++;
@@ -398,10 +370,6 @@ ADDRESS *rfc822_parse_adrlist (ADDRESS * top, const char *s)
         terminate_buffer (comment, commentlen);
         last->personal = safe_strdup (comment);
       }
-#ifdef EXACT_ADDRESS
-      if (last && !last->val)
-        last->val = mutt_substrdup (begin, s);
-#endif
 
       /* add group terminator */
       cur = rfc822_new_address ();
@@ -468,10 +436,6 @@ ADDRESS *rfc822_parse_adrlist (ADDRESS * top, const char *s)
     terminate_buffer (comment, commentlen);
     last->personal = safe_strdup (comment);
   }
-#ifdef EXACT_ADDRESS
-  if (last)
-    last->val = mutt_substrdup (begin, s);
-#endif
 
   return top;
 }
@@ -525,25 +489,6 @@ void rfc822_write_address_single (char *buf, size_t buflen, ADDRESS * addr,
 
   buflen--;                     /* save room for the terminal nul */
 
-#ifdef EXACT_ADDRESS
-  if (addr->val) {
-    if (!buflen)
-      goto done;
-    strfcpy (pbuf, addr->val, buflen);
-    len = mutt_strlen (pbuf);
-    pbuf += len;
-    buflen -= len;
-    if (addr->group) {
-      if (!buflen)
-        goto done;
-      *pbuf++ = ':';
-      buflen--;
-      *pbuf = 0;
-    }
-    return;
-  }
-#endif
-
   if (addr->personal) {
     if (strpbrk (addr->personal, RFC822Specials)) {
       if (!buflen)
@@ -695,9 +640,6 @@ ADDRESS *rfc822_cpy_adr_real (ADDRESS * addr)
 {
   ADDRESS *p = rfc822_new_address ();
 
-#ifdef EXACT_ADDRESS
-  p->val = safe_strdup (addr->val);
-#endif
   p->personal = safe_strdup (addr->personal);
   p->mailbox = safe_strdup (addr->mailbox);
   p->group = addr->group;
@@ -737,31 +679,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 <me@mutt.org>, 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