X-Git-Url: http://git.marmaro.de/?p=mmh;a=blobdiff_plain;f=sbr%2Fcontext_read.c;h=4f744997fd03c07b732456645f199c0f12dab1c3;hp=1e1a84e36e8cd280e65419b5cc2cb67f02d35b82;hb=d39e2c447b0d163a5a63f480b23d06edb7a73aa0;hpb=ced6090a330d3d83d0bce709f756aa3d7d65fea4 diff --git a/sbr/context_read.c b/sbr/context_read.c index 1e1a84e..4f74499 100644 --- a/sbr/context_read.c +++ b/sbr/context_read.c @@ -27,7 +27,7 @@ #include /* structure for getpwuid() results */ void -context_read (void) +context_read(void) { char buf[BUFSIZ]; /* path name buffer */ char *cp; /* miscellaneous pointer */ @@ -44,11 +44,12 @@ context_read (void) return; /* - ** Find user's home directory. Try the HOME environment variable first, + ** Find user's home directory. Try the HOME environment variable first, ** the home directory field in the password file if that's not found. */ if ((mypath = getenv("HOME")) == (char *)0) { - if ((pw = getpwuid(getuid())) == (struct passwd *)0 || *pw->pw_dir == '\0') + if ((pw = getpwuid(getuid())) == (struct passwd *)0 || + *pw->pw_dir == '\0') adios(NULL, "cannot determine your home directory"); else mypath = pw->pw_dir; @@ -63,13 +64,13 @@ context_read (void) */ if ((cp = getenv("MH")) && *cp != '\0') { - defpath = path(cp, TFILE); + defpath = getcpy(expanddir(cp)); - if (stat(defpath, &st) != -1 && (st.st_mode & S_IFREG) == 0) - adios((char *)0, "`%s' specified by your MH environment variable is not a normal file", cp); + if (stat(defpath, &st) != -1 && (st.st_mode & S_IFREG) == 0) + adios((char *)0, "`%s' specified by your MH environment variable is not a normal file", cp); - if ((ib = fopen(defpath, "r")) == (FILE *)0) - adios((char *)0, "unable to read the `%s' profile specified by your MH environment variable", defpath); + if ((ib = fopen(defpath, "r")) == (FILE *)0) + adios((char *)0, "unable to read the `%s' profile specified by your MH environment variable", defpath); } else { defpath = concat(mypath, "/", mh_profile, NULL); @@ -79,8 +80,8 @@ context_read (void) cp = mh_profile; } - readconfig (&m_defs, ib, cp, 0); - fclose (ib); + readconfig(&m_defs, ib, cp, 0); + fclose(ib); /* ** Find the user's nmh directory, which is specified by the "path" @@ -88,28 +89,30 @@ context_read (void) ** one rooted in the home directory. */ - if ((cp = context_find ("path")) == (char *)0) - adios(NULL, "Your %s file does not contain a path entry.", defpath); + if ((cp = context_find("path")) == (char *)0) + adios(NULL, "Your %s file does not contain a path entry.", + defpath); if (*cp == '\0') adios(NULL, "Your `%s' profile file does not contain a valid path entry.", defpath); if (*cp != '/') - (void)snprintf (nd = buf, sizeof(buf), "%s/%s", mypath, cp); + (void)snprintf(nd = buf, sizeof(buf), "%s/%s", mypath, cp); else nd = cp; if (stat(nd, &st) == -1) { if (errno != ENOENT) - adios (nd, "error opening"); - cp = concat ("Your MH-directory \"", nd, "\" doesn't exist; Create it? ", NULL); + adios(nd, "error opening"); + cp = concat("Your MH-directory \"", nd, "\" doesn't exist; Create it? ", NULL); if (!getanswer(cp)) - adios (NULL, "unable to access MH-directory \"%s\"", nd); - free (cp); - if (!makedir (nd)) - adios (NULL, "unable to create %s", nd); + adios(NULL, "unable to access MH-directory \"%s\"", + nd); + free(cp); + if (!makedir(nd)) + adios(NULL, "unable to create %s", nd); } else if ((st.st_mode & S_IFDIR) == 0) - adios ((char *)0, "`%s' is not a directory", nd); + adios((char *)0, "`%s' is not a directory", nd); /* ** Open and read user's context file. The name of the context @@ -117,7 +120,7 @@ context_read (void) ** environment variable. */ - if ((cp = getenv ("MHCONTEXT")) == (char *)0 || *cp == '\0') + if ((cp = getenv("MHCONTEXT")) == (char *)0 || *cp == '\0') cp = context; /* @@ -131,11 +134,11 @@ context_read (void) return; } - ctxpath = getcpy (m_maildir (cp)); + ctxpath = getcpy(toabsdir(cp)); - if ((ib = lkfopen (ctxpath, "r"))) { - readconfig ((struct node **) 0, ib, cp, 1); - lkfclose (ib, ctxpath); + if ((ib = lkfopen(ctxpath, "r"))) { + readconfig((struct node **) 0, ib, cp, 1); + lkfclose(ib, ctxpath); } return;