-
-/*
- * 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
#include <h/mh.h>
#include <h/utils.h>
+#include "m_maildir.h"
#define CWD "./"
-#define NCWD (sizeof(CWD) - 1)
#define DOT "."
#define DOTDOT ".."
#define PWD "../"
-#define NPWD (sizeof(PWD) - 1)
static char mailfold[BUFSIZ];
static char *exmaildir (char *);
+/* Returns static char[], never NULL. */
char *
m_maildir (char *folder)
{
}
+/* Return value must be free(3)'d. */
char *
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));
}
+/* Returns static char[], never NULL. */
static char *
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;
}
snprintf(cp, sizeof mailfold, "%s/", mypath);
cp += strlen (cp);
}
- cp = copy (pp, cp);
+ cp = stpcpy(cp, pp);
} else {
- cp = copy (path ("./", TFOLDER), cp);
+ char *p = path("./", TFOLDER);
+ cp = stpcpy(cp, p);
+ free(p);
}
if (cp[-1] != '/')
*cp++ = '/';