]> diplodocus.org Git - nmh/blobdiff - sbr/addrsbr.c
Add basic support for the STLS command in POP
[nmh] / sbr / addrsbr.c
index 49a6b6532dcc5b060bfc9a9656eb1637e581cdf9..43352bde24cb49c59ebe011f17ee5361f9f55853 100644 (file)
@@ -5,11 +5,17 @@
  * complete copyright information.
  */
 
-#include <h/mh.h>
-#include <h/addrsbr.h>
-#include <h/mf.h>
-#include <h/mts.h>
-#include <h/utils.h>
+#include "h/mh.h"
+#include "snprintb.h"
+#include "strindex.h"
+#include "uprf.h"
+#include "getcpy.h"
+#include "context_find.h"
+#include "error.h"
+#include "h/addrsbr.h"
+#include "h/mf.h"
+#include "h/mts.h"
+#include "h/utils.h"
 
 /* High level parsing of addresses:
 
@@ -77,7 +83,8 @@ static char adr[BUFSIZ];
 static int eai = 0;
 
 void
-enable_eai(void) {
+enable_eai(void)
+{
     eai = 1;
 }
 
@@ -204,13 +211,13 @@ mnfree (struct mailname *mp)
     if (!mp)
        return;
 
-    mh_xfree(mp->m_text);
-    mh_xfree(mp->m_pers);
-    mh_xfree(mp->m_mbox);
-    mh_xfree(mp->m_host);
-    mh_xfree(mp->m_path);
-    mh_xfree(mp->m_gname);
-    mh_xfree(mp->m_note);
+    free(mp->m_text);
+    free(mp->m_pers);
+    free(mp->m_mbox);
+    free(mp->m_host);
+    free(mp->m_path);
+    free(mp->m_gname);
+    free(mp->m_note);
 
     free(mp);
 }
@@ -219,14 +226,12 @@ mnfree (struct mailname *mp)
 char *
 auxformat (struct mailname *mp, int extras)
 {
-    static char addr[BUFSIZ];
+    static char addr[BUFSIZ-4];
     static char buffer[BUFSIZ];
 
        if (mp->m_nohost)
            strncpy (addr, FENDNULL(mp->m_mbox), sizeof(addr));
-       else
-
-       if (mp->m_type != UUCPHOST) {
+       else if (mp->m_type != UUCPHOST) {
            if (mp->m_host)
                snprintf (addr, sizeof(addr), "%s%s@%s", FENDNULL(mp->m_path),
                          FENDNULL(mp->m_mbox), mp->m_host);
@@ -269,10 +274,10 @@ auxformat (struct mailname *mp, int extras)
  * Check if this is my address
  */
 
-int
+bool
 ismymbox (struct mailname *np)
 {
-    int oops;
+    bool oops;
     int len, i;
     char *cp;
     char *pp;
@@ -280,7 +285,7 @@ ismymbox (struct mailname *np)
     struct mailname *mp;
     static char *am = NULL;
     static struct mailname mq;
-    static int localmailbox = 0;
+    static bool localmailbox;
 
     /*
      * If this is the first call, initialize
@@ -292,16 +297,16 @@ ismymbox (struct mailname *np)
 
        if ((am = context_find ("local-mailbox"))) {
 
-           localmailbox++;
+           localmailbox = true;
 
            if ((cp = getname(am)) == NULL) {
                inform("Unable to find address in local-mailbox, continuing...");
-               return 0;
+               return false;
            }
 
            if ((mq.m_next = getm (cp, NULL, 0, NULL, 0)) == NULL) {
                 inform("invalid entry in local-mailbox: %s, continuing...", cp);
-               return 0;
+               return false;
            }
 
            /* Sigh, it turns out that the address parser gets messed up
@@ -314,11 +319,11 @@ ismymbox (struct mailname *np)
            am = getusername();
        else {
            mp = mq.m_next ? mq.m_next : &mq;
-           oops = 0;
+           oops = false;
            while ((cp = getname (am))) {
                if ((mp->m_next = getm (cp, NULL, 0, NULL, 0)) == NULL) {
                    inform("illegal address: %s, continuing...", cp);
-                   oops++;
+                   oops = true;
                } else {
                    mp = mp->m_next;
                    mp->m_type = W_NIL;
@@ -360,7 +365,7 @@ ismymbox (struct mailname *np)
     }
 
     if (np == NULL) /* XXX */
-       return 0;
+       return false;
     
     /*
      * Don't perform this "local" test if we have a Local-Mailbox set
@@ -381,7 +386,7 @@ ismymbox (struct mailname *np)
            case LOCALHOST:
 local_test: ;
                if (!strcasecmp (np->m_mbox, mq.m_mbox))
-                   return 1;
+                   return true;
                break;
 
            default:
@@ -419,7 +424,7 @@ local_test: ;
        }
 
        if (mp->m_nohost)
-           return 1;
+           return true;
        if (np->m_host == NULL || mp->m_host == NULL)
            continue;
        if ((len = strlen (cp = np->m_host))
@@ -443,8 +448,8 @@ local_test: ;
                    continue;
                break;
        }
-       return 1;
+       return true;
     }
 
-    return 0;
+    return false;
 }