line[0] = 0;
}
s->lno++;
- for(p = line + strlen(line) - 1; p >= line; p--) {
- if(isspace(*p))
- *p = 0;
- else
- break;
+ if(line[0]) {
+ for(p = line + strlen(line) - 1; p >= line; p--) {
+ if(isspace(*p))
+ *p = 0;
+ else
+ break;
+ }
}
for(ind = 0, p = line; *p; p++) {
if(*p == ' ') {
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;