X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/1691e80890e5d8ba258c51c214a3e91880e1db2b..ab6a6ff3011244795eb920cc577114776f57d63f:/sbr/path.c diff --git a/sbr/path.c b/sbr/path.c index df5d963b..896c1ad9 100644 --- a/sbr/path.c +++ b/sbr/path.c @@ -2,10 +2,13 @@ /* * path.c -- return a pathname * - * $Id$ + * This code is Copyright (c) 2002, by the authors of nmh. See the + * COPYRIGHT file in the root directory of the nmh distribution for + * complete copyright information. */ #include +#include #define CWD "./" #define NCWD (sizeof(CWD) - 1) @@ -22,6 +25,11 @@ static char *pwds; static char *expath(char *,int); static void compath(char *); +char * +pluspath(char *name) +{ + return path(name + 1, *name == '+' ? TFOLDER : TSUBCWF); +} char * path(char *name, int flag) @@ -50,7 +58,7 @@ expath (char *name, int flag) snprintf (buffer, sizeof(buffer), "%s/", m_maildir ("")); if (ssequal (buffer, name)) { cp = name; - name = getcpy (name + strlen (buffer)); + name = mh_xstrdup(name + strlen(buffer)); free (cp); } flag = TFOLDER; @@ -81,7 +89,7 @@ expath (char *name, int flag) name += NCWD; if (strcmp (name, DOTDOT) == 0 || strcmp (name, PWD) == 0) { - snprintf (buffer, sizeof(buffer), "%.*s", cp - pwds, pwds); + snprintf (buffer, sizeof(buffer), "%.*s", (int)(cp - pwds), pwds); return getcpy (buffer); } @@ -90,7 +98,7 @@ expath (char *name, int flag) else cp = ep; - snprintf (buffer, sizeof(buffer), "%.*s/%s", cp - pwds, pwds, name); + snprintf (buffer, sizeof(buffer), "%.*s/%s", (int)(cp - pwds), pwds, name); return getcpy (buffer); }