]> diplodocus.org Git - nmh/blobdiff - sbr/m_maildir.c
new.c: Order two return statements to match comment.
[nmh] / sbr / m_maildir.c
index 2947c9b5a326dba419ac274a2709bde639373782..daf84a7328ca4dde4b4f7eb141c5a461850da4ff 100644 (file)
@@ -1,6 +1,4 @@
-
-/*
- * m_maildir.c -- get the path for the mail directory
+/* m_maildir.c -- get the path for the mail directory
  *
  * This code is Copyright (c) 2002, by the authors of nmh.  See the
  * COPYRIGHT file in the root directory of the nmh distribution for
@@ -9,6 +7,7 @@
 
 #include <h/mh.h>
 #include <h/utils.h>
+#include "m_maildir.h"
 
 #define        CWD     "./"
 #define        DOT     "."
@@ -23,6 +22,7 @@ static char mailfold[BUFSIZ];
 static char *exmaildir (char *);
 
 
+/* Returns static char[], never NULL. */
 char *
 m_maildir (char *folder)
 {
@@ -37,6 +37,7 @@ m_maildir (char *folder)
 }
 
 
+/* Return value must be free(3)'d. */
 char *
 m_mailpath (char *folder)
 {
@@ -44,10 +45,10 @@ m_mailpath (char *folder)
     char maildir[BUFSIZ];
 
     if (*folder != '/'
-           && !HasPrefix(folder, CWD)
+           && !has_prefix(folder, CWD)
            && strcmp (folder, DOT)
            && strcmp (folder, DOTDOT)
-           && !HasPrefix(folder, PWD)) {
+           && !has_prefix(folder, PWD)) {
        strncpy (maildir, mailfold, sizeof(maildir));   /* preserve... */
        cp = getcpy (m_maildir (folder));
        strncpy (mailfold, maildir, sizeof(mailfold));
@@ -59,6 +60,7 @@ m_mailpath (char *folder)
 }
 
 
+/* Returns static char[], never NULL. */
 static char *
 exmaildir (char *folder)
 {
@@ -69,10 +71,10 @@ exmaildir (char *folder)
        folder = getfolder(1);
 
     if (!(*folder != '/'
-           && !HasPrefix(folder, CWD)
+           && !has_prefix(folder, CWD)
            && strcmp (folder, DOT)
            && strcmp (folder, DOTDOT)
-           && !HasPrefix(folder, PWD))) {
+           && !has_prefix(folder, PWD))) {
        strncpy (mailfold, folder, sizeof(mailfold));
        return mailfold;
     }
@@ -85,7 +87,9 @@ exmaildir (char *folder)
        }
        cp = stpcpy(cp, pp);
     } else {
-       cp = stpcpy(cp, path("./", TFOLDER));
+        char *p = path("./", TFOLDER);
+       cp = stpcpy(cp, p);
+        free(p);
     }
     if (cp[-1] != '/')
        *cp++ = '/';