]> diplodocus.org Git - nmh/blobdiff - sbr/path.c
seq_bits.c: Move interface to own file.
[nmh] / sbr / path.c
index bf9283a30437bf4464b75f0dcae48e930a76a063..278a101f771364a89a5cae168c176123ff406302 100644 (file)
@@ -5,8 +5,8 @@
  * complete copyright information.
  */
 
  * complete copyright information.
  */
 
-#include <h/mh.h>
-#include <h/utils.h>
+#include "h/mh.h"
+#include "h/utils.h"
 #include "m_maildir.h"
 
 #define        CWD     "./"
 #include "m_maildir.h"
 
 #define        CWD     "./"
@@ -22,26 +22,31 @@ static char *pwds;
 static char *expath(char *,int);
 static void compath(char *);
 
 static char *expath(char *,int);
 static void compath(char *);
 
+
+/* Return value must be free(3)'d. */
 char *
 pluspath(char *name)
 {
        return path(name + 1, *name == '+' ? TFOLDER : TSUBCWF);
 }
 
 char *
 pluspath(char *name)
 {
        return path(name + 1, *name == '+' ? TFOLDER : TSUBCWF);
 }
 
+
+/* Return value must be free(3)'d. */
 char *
 path(char *name, int flag)
 {
 char *
 path(char *name, int flag)
 {
-    char *cp, *ep;
+    char *p, *last;
 
 
-    if ((cp = expath (name, flag))
-           && (ep = cp + strlen (cp) - 1) > cp
-           && *ep == '/')
-       *ep = '\0';
+    p = expath(name, flag);
+    last = p + strlen(p) - 1;
+    if (last > p && *last == '/')
+       *last = '\0';
 
 
-    return cp;
+    return p;
 }
 
 
 }
 
 
+/* Return value must be free(3)'d. */
 static char *
 expath (char *name, int flag)
 {
 static char *
 expath (char *name, int flag)
 {