simplify whatnow.c/main() function
[mmh] / sbr / path.c
index 27af5b3..f95a758 100644 (file)
@@ -6,8 +6,10 @@
 ** complete copyright information.
 */
 
+#include <sysexits.h>
 #include <h/mh.h>
 #include <pwd.h>
+#include <unistd.h>
 
 
 /*
@@ -18,6 +20,7 @@
 ** 2) Next, if already absolute pathname, then leave unchanged.
 ** 3) Next, check in mmh directory.
 ** 4) Next, check in mmh `etc' directory.
+** 5) As fall-back, return `file' unchanged.
 */
 char *
 etcpath(char *file)
@@ -65,9 +68,11 @@ try_it:
 
        /* Check nmh `etc' directory */
        snprintf(epath, sizeof epath, "%s/%s", mhetcdir, file);
-       return (access(epath, R_OK) != NOTOK ? epath : file);
+       if  (access(epath, R_OK) != NOTOK)
+               return epath;
 
-       /* TODO: What is the ultimate fallback? NULL or file? */
+       /* The fall-back */
+       return file;
 }
 
 
@@ -281,7 +286,7 @@ toabsdir(char *path)
                char *cp=buf, *pp;
 
                if (!(pp = context_find("path")) || !*pp) {
-                       adios(NULL, "Non-empty profile entry `Path' required");
+                       adios(EX_CONFIG, NULL, "Non-empty profile entry `Path' required");
                }
                if (*pp != '/') {
                        /* Path is relative to $HOME */