#include <h/mh.h>
#include <h/utils.h>
+#include "m_maildir.h"
#define CWD "./"
#define DOT "."
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);
}
+
+/* Return value must be free(3)'d. */
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)
{
ep = pwds + strlen (pwds);
if ((cp = strrchr(pwds, '/')) == NULL)
cp = ep;
- else
- if (cp == pwds)
- cp++;
+ else if (cp == pwds)
+ cp++;
if (has_prefix(name, CWD))
name += LEN(CWD);