summaryrefslogtreecommitdiff
path: root/daemon.c
diff options
context:
space:
mode:
authorRené Scharfe <rene.scharfe@lsrfire.ath.cx>2008-11-22 23:21:52 (GMT)
committerJunio C Hamano <gitster@pobox.com>2008-11-24 03:56:36 (GMT)
commita47551c3828f81ec88d5b0b3d05887f1a7a4233a (patch)
treec5f5c9ca22982993c7c3194debc2869b1d1c7085 /daemon.c
parentd433ed0bb49b947e3bb05d6474cf328c75ffa57d (diff)
downloadgit-a47551c3828f81ec88d5b0b3d05887f1a7a4233a.zip
git-a47551c3828f81ec88d5b0b3d05887f1a7a4233a.tar.gz
git-a47551c3828f81ec88d5b0b3d05887f1a7a4233a.tar.bz2
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 <rene.scharfe@lsrfire.ath.cx> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'daemon.c')
-rw-r--r--daemon.c16
1 files changed, 6 insertions, 10 deletions
diff --git a/daemon.c b/daemon.c
index fbf61ca..1cef309 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);
}
}