From 88d5a6f6cd1b63e1637027322cdfdbeefe38c3ed Mon Sep 17 00:00:00 2001 From: Jeff King Date: Thu, 22 May 2014 05:44:09 -0400 Subject: daemon/config: factor out duplicate xstrdup_tolower We have two implementations of the same function; let's drop that to one. We take the name from daemon.c, but the implementation (which is just slightly more efficient) from the config code. Signed-off-by: Jeff King Signed-off-by: Junio C Hamano --- builtin/config.c | 15 +-------------- daemon.c | 8 -------- strbuf.c | 13 +++++++++++++ strbuf.h | 2 ++ 4 files changed, 16 insertions(+), 22 deletions(-) diff --git a/builtin/config.c b/builtin/config.c index 20e89fe4e0..00b0c240fc 100644 --- a/builtin/config.c +++ b/builtin/config.c @@ -396,19 +396,6 @@ static int urlmatch_collect_fn(const char *var, const char *value, void *cb) return 0; } -static char *dup_downcase(const char *string) -{ - char *result; - size_t len, i; - - len = strlen(string); - result = xmalloc(len + 1); - for (i = 0; i < len; i++) - result[i] = tolower(string[i]); - result[i] = '\0'; - return result; -} - static int get_urlmatch(const char *var, const char *url) { char *section_tail; @@ -423,7 +410,7 @@ static int get_urlmatch(const char *var, const char *url) if (!url_normalize(url, &config.url)) die("%s", config.url.err); - config.section = dup_downcase(var); + config.section = xstrdup_tolower(var); section_tail = strchr(config.section, '.'); if (section_tail) { *section_tail = '\0'; diff --git a/daemon.c b/daemon.c index 13608c07c6..d514ba47ff 100644 --- a/daemon.c +++ b/daemon.c @@ -475,14 +475,6 @@ static void make_service_overridable(const char *name, int ena) die("No such service %s", name); } -static char *xstrdup_tolower(const char *str) -{ - char *p, *dup = xstrdup(str); - for (p = dup; *p; p++) - *p = tolower(*p); - return dup; -} - static void parse_host_and_port(char *hostport, char **host, char **port) { diff --git a/strbuf.c b/strbuf.c index 1170d01c43..e26cb2c7fa 100644 --- a/strbuf.c +++ b/strbuf.c @@ -570,3 +570,16 @@ int fprintf_ln(FILE *fp, const char *fmt, ...) return -1; return ret + 1; } + +char *xstrdup_tolower(const char *string) +{ + char *result; + size_t len, i; + + len = strlen(string); + result = xmalloc(len + 1); + for (i = 0; i < len; i++) + result[i] = tolower(string[i]); + result[i] = '\0'; + return result; +} diff --git a/strbuf.h b/strbuf.h index 73e80cea69..7bd36216ff 100644 --- a/strbuf.h +++ b/strbuf.h @@ -177,4 +177,6 @@ extern int printf_ln(const char *fmt, ...); __attribute__((format (printf,2,3))) extern int fprintf_ln(FILE *fp, const char *fmt, ...); +char *xstrdup_tolower(const char *); + #endif /* STRBUF_H */ -- cgit v1.2.1