Thread (9 messages) flat view 9 messages, 2 authors, 2016-06-15

Re: [PATCH] daemon: use strbuf for hostname info

From: René Scharfe <hidden>
Date: 2016-06-15 23:04:00
Subsystem: the rest · Maintainer: Linus Torvalds

Am 06.03.2015 um 22:06 schrieb Jeff King:
On Fri, Mar 06, 2015 at 09:57:22AM +0100, René Scharfe wrote:
quoted
Convert hostname, canon_hostname, ip_address and tcp_port to strbuf.
This allows to get rid of the helpers strbuf_addstr_or_null() and STRARG
because a strbuf always represents a valid (initially empty) string.
sanitize_client() becomes unused and is removed as well.
Makes sense. I had a feeling that we might have cared about NULL versus
the empty string somewhere, but I did not see it in the patch below, so
I think it is fine.
quoted
-static char *sanitize_client(const char *in)
-{
-	struct strbuf out = STRBUF_INIT;
-	sanitize_client_strbuf(&out, in);
-	return strbuf_detach(&out, NULL);
-}
Not a big deal, but do we want to rename sanitize_client_strbuf to
sanitize_client? It only had the unwieldy name to distinguish it from
this one.
A patch would look like this.  The result is shorter, but no win in
terms of vertical space (number of lines).

-- >8 --
Subject: daemon: drop _strbuf suffix of sanitize and canonicalize functions

Now that only the strbuf variants of the functions remain, remove the
"_strbuf" part from their names.

Suggested-by: Jeff King <redacted>
Signed-off-by: Rene Scharfe <redacted>
---
 daemon.c | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)
diff --git a/daemon.c b/daemon.c
index c04315e..0412f8c 100644
--- a/daemon.c
+++ b/daemon.c
@@ -534,7 +534,7 @@ static void parse_host_and_port(char *hostport, char **host,
  * trailing and leading dots, which means that the client cannot escape
  * our base path via ".." traversal.
  */
-static void sanitize_client_strbuf(struct strbuf *out, const char *in)
+static void sanitize_client(struct strbuf *out, const char *in)
 {
 	for (; *in; in++) {
 		if (*in == '/')
@@ -549,12 +549,12 @@ static void sanitize_client_strbuf(struct strbuf *out, const char *in)
 }
 
 /*
- * Like sanitize_client_strbuf, but we also perform any canonicalization
+ * Like sanitize_client, but we also perform any canonicalization
  * to make life easier on the admin.
  */
-static void canonicalize_client_strbuf(struct strbuf *out, const char *in)
+static void canonicalize_client(struct strbuf *out, const char *in)
 {
-	sanitize_client_strbuf(out, in);
+	sanitize_client(out, in);
 	strbuf_tolower(out);
 }
 
@@ -579,10 +579,10 @@ static void parse_host_arg(char *extra_args, int buflen)
 				parse_host_and_port(val, &host, &port);
 				if (port) {
 					strbuf_reset(&tcp_port);
-					sanitize_client_strbuf(&tcp_port, port);
+					sanitize_client(&tcp_port, port);
 				}
 				strbuf_reset(&hostname);
-				canonicalize_client_strbuf(&hostname, host);
+				canonicalize_client(&hostname, host);
 				hostname_lookup_done = 0;
 			}
 
@@ -620,8 +620,8 @@ static void lookup_hostname(void)
 
 			strbuf_reset(&canon_hostname);
 			if (ai->ai_canonname)
-				sanitize_client_strbuf(&canon_hostname,
-						       ai->ai_canonname);
+				sanitize_client(&canon_hostname,
+						ai->ai_canonname);
 			else
 				strbuf_addbuf(&canon_hostname, &ip_address);
 
@@ -645,7 +645,7 @@ static void lookup_hostname(void)
 				  addrbuf, sizeof(addrbuf));
 
 			strbuf_reset(&canon_hostname);
-			sanitize_client_strbuf(&canon_hostname, hent->h_name);
+			sanitize_client(&canon_hostname, hent->h_name);
 			strbuf_reset(&ip_address);
 			strbuf_addstr(&ip_address, addrbuf);
 		}
-- 
2.3.1
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help