X-Git-Url: http://git.marmaro.de/?p=mmh;a=blobdiff_plain;f=sbr%2Fm_maildir.c;h=957e44b4cd4443577b2639b5fa47a1bf40d0b39d;hp=6c8c5841736fe08f9fc2e9b45f2e318031ec0ce0;hb=6e8aba3714fe8ffc21dbb75ea9efdc41ab87b07f;hpb=5dd6771b28c257af405d7248639ed0e3bcdce38b diff --git a/sbr/m_maildir.c b/sbr/m_maildir.c index 6c8c584..957e44b 100644 --- a/sbr/m_maildir.c +++ b/sbr/m_maildir.c @@ -1,96 +1,93 @@ - /* - * 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 - * complete copyright information. - */ +** 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 +** complete copyright information. +*/ #include -#define CWD "./" -#define NCWD (sizeof(CWD) - 1) -#define DOT "." -#define DOTDOT ".." -#define PWD "../" -#define NPWD (sizeof(PWD) - 1) +#define CWD "./" +#define NCWD (sizeof(CWD) - 1) +#define DOT "." +#define DOTDOT ".." +#define PWD "../" +#define NPWD (sizeof(PWD) - 1) static char mailfold[BUFSIZ]; /* - * static prototypes - */ -static char *exmaildir (char *); +** static prototypes +*/ +static char *exmaildir(char *); char * -m_maildir (char *folder) +m_maildir(char *folder) { - register char *cp, *ep; + register char *cp, *ep; - if ((cp = exmaildir (folder)) - && (ep = cp + strlen (cp) - 1) > cp - && *ep == '/') - *ep = '\0'; + if ((cp = exmaildir(folder)) + && (ep = cp + strlen(cp) - 1) > cp + && *ep == '/') + *ep = '\0'; - return cp; + return cp; } char * -m_mailpath (char *folder) +m_mailpath(char *folder) { - register char *cp; - char maildir[BUFSIZ]; - - if (*folder != '/' - && strncmp (folder, CWD, NCWD) - && strcmp (folder, DOT) - && strcmp (folder, DOTDOT) - && strncmp (folder, PWD, NPWD)) { - strncpy (maildir, mailfold, sizeof(maildir)); /* preserve... */ - cp = getcpy (m_maildir (folder)); - strncpy (mailfold, maildir, sizeof(mailfold)); - } else { - cp = path (folder, TFOLDER); - } - - return cp; + register char *cp; + char maildir[BUFSIZ]; + + if (*folder != '/' + && strncmp(folder, CWD, NCWD) + && strcmp(folder, DOT) + && strcmp(folder, DOTDOT) + && strncmp(folder, PWD, NPWD)) { + strncpy(maildir, mailfold, sizeof(maildir)); /* preserve... */ + cp = getcpy(m_maildir(folder)); + strncpy(mailfold, maildir, sizeof(mailfold)); + } else { + cp = path(folder, TFOLDER); + } + + return cp; } static char * -exmaildir (char *folder) +exmaildir(char *folder) { - register char *cp, *pp; - - /* use current folder if none is specified */ - if (folder == NULL) - folder = getfolder(1); - - if (!(*folder != '/' - && strncmp (folder, CWD, NCWD) - && strcmp (folder, DOT) - && strcmp (folder, DOTDOT) - && strncmp (folder, PWD, NPWD))) { - strncpy (mailfold, folder, sizeof(mailfold)); - return mailfold; - } + register char *cp, *pp; + + /* use current folder if none is specified */ + if (folder == NULL) + folder = getfolder(FCUR); - cp = mailfold; - if ((pp = context_find ("path")) && *pp) { - if (*pp != '/') { - sprintf (cp, "%s/", mypath); - cp += strlen (cp); + if (!(*folder != '/' && strncmp(folder, CWD, NCWD) + && strcmp(folder, DOT) && strcmp(folder, DOTDOT) + && strncmp(folder, PWD, NPWD))) { + strncpy(mailfold, folder, sizeof(mailfold)); + return mailfold; } - cp = copy (pp, cp); - } else { - cp = copy (path ("./", TFOLDER), cp); - } - if (cp[-1] != '/') - *cp++ = '/'; - strcpy (cp, folder); - - return mailfold; + + cp = mailfold; + if ((pp = context_find("path")) && *pp) { + if (*pp != '/') { + sprintf(cp, "%s/", mypath); + cp += strlen(cp); + } + cp = copy(pp, cp); + } else { + cp = copy(path("./", TFOLDER), cp); + } + if (cp[-1] != '/') + *cp++ = '/'; + strcpy(cp, folder); + + return mailfold; }