X-Git-Url: http://git.marmaro.de/?a=blobdiff_plain;f=config%2Fconfig.c;h=3f9d106126a6c72a7c5a75dcab076db03c78958a;hb=363190329760d38060e89956206583831b0d084d;hp=d72cd917904cb32b41cc048e1639f8ccff982078;hpb=ced6090a330d3d83d0bce709f756aa3d7d65fea4;p=mmh diff --git a/config/config.c b/config/config.c index d72cd91..3f9d106 100644 --- a/config/config.c +++ b/config/config.c @@ -8,170 +8,90 @@ #include -#ifdef MHRC -# include -#endif - -#define nmhbindir(file) NMHBINDIR#file -#define nmhetcdir(file) NMHETCDIR#file -#define nmhlibdir(file) NMHLIBDIR#file /* -** Find the location of a format or configuration -** file, and return its absolute pathname. -** -** 1) If already absolute pathname, then leave unchanged. -** 2) Next, if it begins with ~user, then expand it. -** 3) Next, check in nmh Mail directory. -** 4) Next, check in nmh `etc' directory. +** nmh globals */ -char * -etcpath (char *file) -{ - static char epath[PATH_MAX]; - char *cp; -#ifdef MHRC - char *pp; - struct passwd *pw; -#endif - -#ifdef MHRC - context_read(); -#endif +char *mhlibdir = NMHLIBDIR; +char *mhetcdir = NMHETCDIR; - switch (*file) { - case '/': - /* If already absolute pathname, return it */ - return file; - -#ifdef MHRC - case '~': - /* Expand ~username */ - if ((cp = strchr(pp = file + 1, '/'))) - *cp++ = '\0'; - if (*pp == '\0') { - pp = mypath; - } else { - if ((pw = getpwnam (pp))) - pp = pw->pw_dir; - else { - if (cp) - *--cp = '/'; - goto try_it; - } - } - - snprintf (epath, sizeof(epath), "%s/%s", pp, cp ? cp : ""); - if (cp) - *--cp = '/'; - - 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; - } - - /* Check nmh `etc' directory */ - snprintf (epath, sizeof(epath), nmhetcdir(/%s), file); - return (access (epath, R_OK) != NOTOK ? epath : file); -} +char *invo_name; /* command invocation name */ +char *mypath; /* user's $HOME */ +char *mmhpath; /* pathname of user's mmh dir */ +char *defpath; /* pathname of user's profile */ +char *ctxpath; /* pathname of user's context */ +char ctxflags; /* status of user's context */ +struct node *m_defs; /* profile/context structure */ /* -** Standard yes/no switches structure +** nmh constants +** +** Important: Adjust uip/mmh.sh if you make changes here! */ -struct swit anoyes[] = { - { "no", 0 }, - { "yes", 0 }, - { NULL, 0 } -}; +/* default name of the mail storage */ +char *mailstore = "Mail"; + +/* default name of user profile */ +char *mmhdir = ".mmh"; + +/* default name of user profile */ +char *profile = "profile"; + +/* default name for the nmh context file */ +char *context = "context"; /* -** nmh constants +** Default name of file for public sequences. If NULL, +** then nmh will use private sequences by default, unless the +** user defines a value using the "mh-sequences" profile entry. */ +#ifdef NOPUBLICSEQ + char *mh_seq = NULL; +#else + char *mh_seq = ".mh_sequences"; +#endif -/* initial profile for new users */ -char *mh_defaults = nmhetcdir (/mh.profile); - -/* default name of user profile */ -char *mh_profile = ".mh_profile"; /* name of current message "sequence" */ 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 *draftfolder = "drafts"; +char *mhlformat = "mhl.format"; /* show */ +char *mhlreply = "mhl.reply"; /* repl -filter */ +char *mhlforward = "mhl.forward"; /* forw -filter */ char *inbox = "Inbox"; -char *defaultfolder = "inbox"; +char *defaultfolder = "+inbox"; -char *pfolder = "Current-Folder"; +char *draftfolder = "+drafts"; + +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 */ char *nmhaccessftp = "nmh-access-ftp"; -char *mhlibdir = NMHLIBDIR; -char *mhetcdir = NMHETCDIR; - -/* -** nmh not-so constants -*/ - -/* -** Default name for the nmh context file. -*/ -char *context = "context"; - -/* -** Default name of file for public sequences. If NULL, -** then nmh will use private sequences by default, unless the -** user defines a value using the "mh-sequences" profile entry. -*/ -#ifdef NOPUBLICSEQ -char *mh_seq = NULL; -#else -char *mh_seq = ".mh_sequences"; -#endif - -/* -** nmh globals -*/ - -char ctxflags; /* status of user's context */ -char *invo_name; /* command invocation name */ -char *mypath; /* user's $HOME */ -char *defpath; /* pathname of user's profile */ -char *ctxpath; /* pathname of user's context */ -struct node *m_defs; /* profile/context structure */ /* ** nmh processes @@ -180,7 +100,8 @@ struct node *m_defs; /* profile/context structure */ /* ** This is the program to process MIME composition files */ -char *buildmimeproc = nmhbindir (/mhbuild); +char *buildmimeproc = NMHBINDIR"/mhbuild"; + /* ** This is the program to `cat' a file. */ @@ -196,18 +117,18 @@ char *faceproc = NULL; ** also invoked by the spost program to process an "Fcc", or by ** comp/repl/forw/dist to refile a draft message. */ -char *fileproc = nmhbindir (/refile); +char *fileproc = NMHBINDIR"/refile"; /* ** This program is called to incorporate messages into a folder. */ -char *incproc = nmhbindir (/inc); +char *incproc = NMHBINDIR"/inc"; /* ** When a user runs an nmh program for the first time, this program ** is called to create his nmh profile, and mail directory. */ -char *installproc = nmhlibdir (/install-mh); +char *installproc = NMHLIBDIR"/install-mh"; /* ** This is the default program invoked by a "list" response @@ -220,7 +141,7 @@ char *lproc = "more"; /* ** This is the path for the Bell equivalent mail program. */ -char *mailproc = nmhbindir (/mhmail); +char *mailproc = NMHBINDIR"/mhmail"; /* ** This is used by mhl as a front-end. It is also used @@ -237,29 +158,29 @@ char *moreproc = "more"; ** It is used by send/spost (with -filter) to filter the message ** for "Bcc:" recipients. */ -char *mhlproc = nmhlibdir (/mhl); +char *mhlproc = NMHLIBDIR"/mhl"; /* ** This program is called to pack a folder. */ -char *packproc = nmhbindir (/packf); +char *packproc = NMHBINDIR"/packf"; /* ** This is the delivery program called by send to actually ** deliver mail to users. This is the interface to the MTS. */ -char *postproc = nmhlibdir (/spost); +char *postproc = NMHLIBDIR"/spost"; /* ** This is program is called by slocal to handle ** the action `folder' or `+'. */ -char *rcvstoreproc = nmhlibdir (/rcvstore); +char *rcvstoreproc = NMHLIBDIR"/rcvstore"; /* ** This program is called to remove a folder. */ -char *rmfproc = nmhbindir (/rmf); +char *rmfproc = NMHBINDIR"/rmf"; /* ** This program is called to remove a message by rmm or refile -nolink. @@ -271,13 +192,13 @@ char *rmmproc = NULL; ** This program is usually called by the user's whatnowproc, but it ** may also be called directly to send a message previously composed. */ -char *sendproc = nmhbindir (/send); +char *sendproc = NMHBINDIR"/send"; /* ** This is the path to the program used by "show" ** to display non-text (MIME) messages. */ -char *showmimeproc = nmhbindir (/mhshow); +char *showmimeproc = NMHBINDIR"/mhshow"; /* ** This is the default program called by "show" to filter @@ -285,12 +206,12 @@ char *showmimeproc = nmhbindir (/mhshow); ** changed to a pager (such as "more" or "less") if you prefer ** that such message not be filtered in any way. */ -char *showproc = nmhlibdir (/mhl); +char *showproc = NMHLIBDIR"/mhl"; /* ** This program is called after comp, et. al., have built a draft */ -char *whatnowproc = nmhbindir (/whatnow); +char *whatnowproc = NMHBINDIR"/whatnow"; /* ** This is the sendmail interface to use for sending mail. @@ -317,16 +238,6 @@ char *defaulteditor = "vi"; char *altmsglink = "@"; /* -** This is the global nmh alias file. It is somewhat obsolete, since -** global aliases should be handled by the Mail Transport Agent (MTA). -*/ -char *AliasFile = nmhetcdir (/MailAliases); - -/* -** File protections -*/ - -/* ** Folders (directories) are created with this protection (mode) */ char *foldprot = "700"; @@ -337,3 +248,15 @@ char *foldprot = "700"; ** to messages coming in through inc. */ char *msgprot = "600"; + + + +/* +** Standard yes/no switches structure +*/ +struct swit anoyes[] = { + { "no", 0 }, + { "yes", 0 }, + { NULL, 0 } +}; +