about summary refs log tree commit diff
diff options
context:
space:
mode:
authorLukas Fleischer <cgit@cryptocrack.de>2013-04-01 17:11:15 +0200
committerJason A. Donenfeld <Jason@zx2c4.com>2013-04-08 15:43:17 +0200
commita92678b5f119811bccaca9c31b779c5ceed95572 (patch)
treea990fc6e9b1248f9546b6865a2e81dacd1263254
parentMaŕk cgit_environment members const (diff)
downloadcgit-pink-a92678b5f119811bccaca9c31b779c5ceed95572.tar.gz
cgit-pink-a92678b5f119811bccaca9c31b779c5ceed95572.zip
Do not unnecessarily strdup() environment variables
This reverts the memory duplication introduced in commit 60a2627, while
keeping everything else that has been cleaned up. The environment
variables are never modified, so we do not need to call xstrdupn() here.

Also, remove xstrdupn() which is no longer needed.

Signed-off-by: Lukas Fleischer <cgit@cryptocrack.de>
-rw-r--r--cgit.c25
1 files changed, 10 insertions, 15 deletions
diff --git a/cgit.c b/cgit.c
index d145f8a..ca3034c 100644
--- a/cgit.c
+++ b/cgit.c
@@ -333,11 +333,6 @@ static void querystring_cb(const char *name, const char *value)
 	}
 }
 
-static char *xstrdupn(const char *str)
-{
-	return (str ? xstrdup(str) : NULL);
-}
-
 static void prepare_context(struct cgit_context *ctx)
 {
 	memset(ctx, 0, sizeof(*ctx));
@@ -382,16 +377,16 @@ static void prepare_context(struct cgit_context *ctx)
 	ctx->cfg.summary_tags = 10;
 	ctx->cfg.max_atom_items = 10;
 	ctx->cfg.ssdiff = 0;
-	ctx->env.cgit_config = xstrdupn(getenv("CGIT_CONFIG"));
-	ctx->env.http_host = xstrdupn(getenv("HTTP_HOST"));
-	ctx->env.https = xstrdupn(getenv("HTTPS"));
-	ctx->env.no_http = xstrdupn(getenv("NO_HTTP"));
-	ctx->env.path_info = xstrdupn(getenv("PATH_INFO"));
-	ctx->env.query_string = xstrdupn(getenv("QUERY_STRING"));
-	ctx->env.request_method = xstrdupn(getenv("REQUEST_METHOD"));
-	ctx->env.script_name = xstrdupn(getenv("SCRIPT_NAME"));
-	ctx->env.server_name = xstrdupn(getenv("SERVER_NAME"));
-	ctx->env.server_port = xstrdupn(getenv("SERVER_PORT"));
+	ctx->env.cgit_config = getenv("CGIT_CONFIG");
+	ctx->env.http_host = getenv("HTTP_HOST");
+	ctx->env.https = getenv("HTTPS");
+	ctx->env.no_http = getenv("NO_HTTP");
+	ctx->env.path_info = getenv("PATH_INFO");
+	ctx->env.query_string = getenv("QUERY_STRING");
+	ctx->env.request_method = getenv("REQUEST_METHOD");
+	ctx->env.script_name = getenv("SCRIPT_NAME");
+	ctx->env.server_name = getenv("SERVER_NAME");
+	ctx->env.server_port = getenv("SERVER_PORT");
 	ctx->page.mimetype = "text/html";
 	ctx->page.charset = PAGE_ENCODING;
 	ctx->page.filename = NULL;