From: René Scharfe Date: Sat, 22 Nov 2008 23:21:52 +0000 (+0100) Subject: daemon: deglobalize variable 'directory' X-Git-Tag: v1.6.1-rc1~10^2~1 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=a47551c3828f81ec88d5b0b3d05887f1a7a4233a;p=git.git daemon: deglobalize variable 'directory' Remove the global variable 'directory' and pass it as a parameter of the two functions that use it instead, (almost) restoring their interface to how it was before 49ba83fb67d9e447b86953965ce5f949c6a93b81. Signed-off-by: Rene Scharfe Signed-off-by: Junio C Hamano --- diff --git a/daemon.c b/daemon.c index fbf61ca4d..1cef3098d 100644 --- a/daemon.c +++ b/daemon.c @@ -57,7 +57,6 @@ static char *hostname; static char *canon_hostname; static char *ip_address; static char *tcp_port; -static char *directory; static void logreport(int priority, const char *err, va_list params) { @@ -147,7 +146,7 @@ static int avoid_alias(char *p) } } -static char *path_ok(void) +static char *path_ok(char *directory) { static char rpath[PATH_MAX]; static char interp_path[PATH_MAX]; @@ -296,12 +295,12 @@ static int git_daemon_config(const char *var, const char *value, void *cb) return 0; } -static int run_service(struct daemon_service *service) +static int run_service(char *dir, struct daemon_service *service) { const char *path; int enabled = service->enabled; - loginfo("Request %s for '%s'", service->name, directory); + loginfo("Request %s for '%s'", service->name, dir); if (!enabled && !service->overridable) { logerror("'%s': service not enabled.", service->name); @@ -309,7 +308,7 @@ static int run_service(struct daemon_service *service) return -1; } - if (!(path = path_ok())) + if (!(path = path_ok(dir))) return -1; /* @@ -555,8 +554,7 @@ static int execute(struct sockaddr *addr) free(canon_hostname); free(ip_address); free(tcp_port); - free(directory); - hostname = canon_hostname = ip_address = tcp_port = directory = NULL; + hostname = canon_hostname = ip_address = tcp_port = NULL; if (len != pktlen) parse_extra_args(line + len + 1, pktlen - len - 1); @@ -571,9 +569,7 @@ static int execute(struct sockaddr *addr) * Note: The directory here is probably context sensitive, * and might depend on the actual service being performed. */ - free(directory); - directory = xstrdup(line + namelen + 5); - return run_service(s); + return run_service(line + namelen + 5, s); } }