dirplex: Made it easier to include configuration "modules".
[ashd.git] / lib / cf.c
index 3314e4a..719fcad 100644 (file)
--- a/lib/cf.c
+++ b/lib/cf.c
@@ -221,6 +221,27 @@ void freecfparser(struct cfstate *s)
     free(s);
 }
 
+char *findstdconf(char *name)
+{
+    char *path, *p, *p2, *t;
+    
+    if((path = getenv("PATH")) == NULL)
+       return(NULL);
+    path = sstrdup(path);
+    for(p = strtok(path, ":"); p != NULL; p = strtok(NULL, ":")) {
+       if((p2 = strrchr(p, '/')) == NULL)
+           continue;
+       *p2 = 0;
+       if(!access(t = sprintf2("%s/etc/%s", p, name), R_OK)) {
+           free(path);
+           return(t);
+       }
+       free(t);
+    }
+    free(path);
+    return(NULL);
+}
+
 static struct child *newchild(char *name, int type)
 {
     struct child *ch;