X-Git-Url: http://git.marmaro.de/?a=blobdiff_plain;f=config%2Fconfig.c;h=e282b257efa64760faef1a3c25e66351c0acafeb;hb=ff99b7b6299a8ebe433a31f7bf15b158e9dcdea8;hp=24827e967f208b594c3c1610e4c3da74c6cd2e2c;hpb=5d09b7206ae2602d3aedb2b552ef160b855d8054;p=mmh diff --git a/config/config.c b/config/config.c index 24827e9..e282b25 100644 --- a/config/config.c +++ b/config/config.c @@ -7,10 +7,7 @@ */ #include - -#ifdef MHRC -# include -#endif +#include /* @@ -22,61 +19,53 @@ ** 3) Next, check in nmh Mail directory. ** 4) Next, check in nmh `etc' directory. */ - char * -etcpath (char *file) +etcpath(char *file) { static char epath[PATH_MAX]; char *cp; -#ifdef MHRC char *pp; struct passwd *pw; -#endif -#ifdef MHRC context_read(); -#endif - - switch (*file) { - case '/': - /* If already absolute pathname, return it */ - return file; - -#ifdef MHRC - case '~': + if (*file == '~') { /* Expand ~username */ if ((cp = strchr(pp = file + 1, '/'))) *cp++ = '\0'; if (*pp == '\0') { pp = mypath; } else { - if ((pw = getpwnam (pp))) + if ((pw = getpwnam(pp))) pp = pw->pw_dir; else { if (cp) - *--cp = '/'; + *--cp = '/'; goto try_it; } } - snprintf (epath, sizeof(epath), "%s/%s", pp, cp ? cp : ""); + snprintf(epath, sizeof epath, "%s/%s", pp, cp ? cp : ""); if (cp) *--cp = '/'; - if (access (epath, R_OK) != NOTOK) + if (access(epath, R_OK) != NOTOK) return epath; /* else fall */ -try_it: -#endif /* MHRC */ + } - default: - /* Check nmh Mail directory */ - if (access ((cp = m_mailpath (file)), R_OK) != NOTOK) - return cp; +try_it: + if (*file == '/') { + /* If already absolute pathname, return it */ + return file; } + /* Check nmh Mail directory */ + strncpy(epath, toabsdir(file), sizeof epath); + if (access(epath, R_OK) != NOTOK) + return epath; + /* Check nmh `etc' directory */ - snprintf (epath, sizeof(epath), NMHETCDIR"/%s", file); - return (access (epath, R_OK) != NOTOK ? epath : file); + snprintf(epath, sizeof epath, NMHETCDIR"/%s", file); + return (access(epath, R_OK) != NOTOK ? epath : file); } @@ -104,32 +93,32 @@ char *mh_profile = ".mh_profile"; char *current = "cur"; /* standard component files */ -char *components = "components"; /* comp */ -char *replcomps = "replcomps"; /* repl */ +char *components = "components"; /* comp */ +char *replcomps = "replcomps"; /* repl */ char *replgroupcomps = "replgroupcomps"; /* repl -group */ -char *forwcomps = "forwcomps"; /* forw */ -char *distcomps = "distcomps"; /* dist */ -char *rcvdistcomps = "rcvdistcomps"; /* rcvdist */ -char *digestcomps = "digestcomps"; /* forw -digest */ +char *forwcomps = "forwcomps"; /* forw */ +char *distcomps = "distcomps"; /* dist */ +char *rcvdistcomps = "rcvdistcomps"; /* rcvdist */ +char *digestcomps = "digestcomps"; /* forw -digest */ /* standard format (filter) files */ -char *mhlformat = "mhl.format"; /* show */ -char *mhlreply = "mhl.reply"; /* repl -filter */ -char *mhlforward = "mhl.forward"; /* forw -filter */ +char *mhlformat = "mhl.format"; /* show */ +char *mhlreply = "mhl.reply"; /* repl -filter */ +char *mhlforward = "mhl.forward"; /* forw -filter */ -char *draftfolder = "drafts"; +char *draftfolder = "+drafts"; char *inbox = "Inbox"; -char *defaultfolder = "inbox"; +char *defaultfolder = "+inbox"; -char *pfolder = "Current-Folder"; +char *curfolder = "Current-Folder"; char *usequence = "Unseen-Sequence"; char *psequence = "Previous-Sequence"; char *nsequence = "Sequence-Negation"; /* profile entries for storage locations */ -char *nmhstorage = "nmh-storage"; -char *nmhcache = "nmh-cache"; +char *nmhstorage = "nmh-storage"; +char *nmhcache = "nmh-cache"; char *nmhprivcache = "nmh-private-cache"; /* profile entry for external ftp access command */