From: Mike Hommey Date: Sun, 01 May 2016 06:02:48 GMT Subject: [PATCH 1/6] connect: remove get_port() Message-ID: <1462082573-17992-2-git-send-email-mh@glandium.org> In-Reply-To: <1462082573-17992-1-git-send-email-mh@glandium.org> get_port() is only used as a fallback when get_host_and_port() does not return a port. But get_port() does the same search as get_host_and_port(), except get_host_and_port() starts from the end of the host, respecting square brackets for ipv6 addresses, and get_port(), operating after get_host_and_port(), works on a modified host string that has square brackes removed if there were any. I cannot think of any legal host:port string that would not have a port returned by get_host_and_port() *and* have one returned by get_port(). So just remove get_port(). Signed-off-by: Mike Hommey --- connect.c | 19 ------------------- 1 file changed, 19 deletions(-) diff --git a/connect.c b/connect.c index c53f3f1..45308ef 100644 --- a/connect.c +++ b/connect.c @@ -571,22 +571,6 @@ static struct child_process *git_proxy_connect(int fd[2], char *host) return proxy; } -static char *get_port(char *host) -{ - char *end; - char *p = strchr(host, ':'); - - if (p) { - long port = strtol(p + 1, &end, 10); - if (end != p + 1 && *end == '\0' && 0 <= port && port < 65536) { - *p = '\0'; - return p+1; - } - } - - return NULL; -} - /* * Extract protocol and relevant parts from the specified connection URL. * The caller must free() the returned strings. @@ -742,9 +726,6 @@ struct child_process *git_connect(int fd[2], const char *url, transport_check_allowed("ssh"); get_host_and_port(&ssh_host, &port); - if (!port) - port = get_port(ssh_host); - if (flags & CONNECT_DIAG_URL) { printf("Diag: url=%s\n", url ? url : "NULL"); printf("Diag: protocol=%s\n", prot_name(protocol)); -- 2.8.1.16.g58dac65.dirty