From: Fredrik Tolf Date: Mon, 22 Dec 2008 04:03:28 +0000 (+0100) Subject: Fixed a couple of bugs in dirplex. X-Git-Tag: 0.1~117 X-Git-Url: http://www.dolda2000.com/gitweb/?p=ashd.git;a=commitdiff_plain;h=cceb36110d6caa3a44827652d836ac6862d17ff9 Fixed a couple of bugs in dirplex. --- diff --git a/lib/proc.c b/lib/proc.c index 957cfce..f4611d5 100644 --- a/lib/proc.c +++ b/lib/proc.c @@ -163,6 +163,5 @@ pid_t stdforkserve(char **argv, struct hthead *req, int fd) flog(LOG_WARNING, "could not exec child program %s: %s", argv[0], strerror(errno)); exit(127); } - close(fd); return(pid); } diff --git a/src/dirplex.c b/src/dirplex.c index ef001cf..063fbb4 100644 --- a/src/dirplex.c +++ b/src/dirplex.c @@ -150,7 +150,7 @@ static struct rule *newrule(struct pattern *pat) for(i = 0; pat->rules[i]; i++); pat->rules = srealloc(pat->rules, sizeof(*pat->rules) * (i + 2)); - rule = pat->rules[i] = smalloc(sizeof(*rule)); + rule = pat->rules[i] = szmalloc(sizeof(*rule)); pat->rules[i + 1] = NULL; return(rule); } @@ -181,9 +181,10 @@ static struct config *readconfig(char *path) struct rule *rule; struct stat sb; - if(stat(path, &sb)) + p = sprintf3("%s/.htrc", path); + if(stat(p, &sb)) return(NULL); - if((s = fopen(sprintf3("%s/.htrc", path), "r")) == NULL) + if((s = fopen(p, "r")) == NULL) return(NULL); omalloc(cf); cf->mtime = sb.st_mtime; @@ -332,7 +333,7 @@ static struct config *getconfig(char *path) for(cf = cflist; cf != NULL; cf = cf->next) { if(!strcmp(cf->path, path)) { - if(stat(path, &sb)) + if(stat(sprintf3("%s/.htrc", path), &sb)) return(NULL); if(sb.st_mtime != cf->mtime) { freeconfig(cf);