git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH 3.2/4] daemon: deglobalize variable 'directory'

From
René Scharfe <rene.scharfe@lsrfire.ath.cx>
Date
Nov 22, 2008, 23:21 UTC
Message-ID
<49289410.2080001@lsrfire.ath.cx>
In-Reply-To
<4928936D.8010404@lsrfire.ath.cx>

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>
---
 daemon.c |   16 ++++++----------
 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);
 		}
 	}
 
-- 
1.6.0.4.755.g6e139
Previous: René ScharfeNext: Jon Loeliger
Message 6 of 7 in “add strbuf_expand_dict_cb(), a helper for simple cases”
  1. 1/4 add strbuf_expand_dict_cb(), a helper for simple casesRené Scharfe, Nov 22, 2008
  2. 2/4 merge-recursive: use strbuf_expand() instead of interpolate()René Scharfe, Nov 22, 2008
  3. 3/4 daemon: use strbuf_expand() instead of interpolate()René Scharfe, Nov 22, 2008
  4. 4/4 remove the unused files interpolate.c and interpolate.hRené Scharfe, Nov 22, 2008
  5. 1/4 daemon: inline fill_in_extra_table_entries()René Scharfe, Nov 22, 2008
  6. 2/4 daemon: deglobalize variable 'directory'René Scharfe, Nov 22, 2008
  7. Jon LoeligerDec 4, 2008

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.