summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEdward Thomson <ethomson@edwardthomson.com>2020-12-17 20:53:11 +0000
committerEdward Thomson <ethomson@edwardthomson.com>2020-12-17 22:13:26 +0000
commit5864a742e9997ea9bda04931e14b4fd0d97d122e (patch)
treee5a63369c978c7d721f9fc00a3266c9b1f5333d7
parent9443e6135e44e5db9003195b70683c809bb134b4 (diff)
downloadlibgit2-ethomson/ipv6.tar.gz
net: function to identify ipv6 addresses in URLsethomson/ipv6
-rw-r--r--src/net.c5
-rw-r--r--src/net.h3
2 files changed, 8 insertions, 0 deletions
diff --git a/src/net.c b/src/net.c
index d5662393a..d4a9f8a6d 100644
--- a/src/net.c
+++ b/src/net.c
@@ -345,6 +345,11 @@ bool git_net_url_is_default_port(git_net_url *url)
return false;
}
+bool git_net_url_is_ipv6(git_net_url *url)
+{
+ return (strchr(url->host, ':') != NULL);
+}
+
void git_net_url_swap(git_net_url *a, git_net_url *b)
{
git_net_url tmp = GIT_NET_URL_INIT;
diff --git a/src/net.h b/src/net.h
index 0082dd6d7..391b99a9f 100644
--- a/src/net.h
+++ b/src/net.h
@@ -36,6 +36,9 @@ extern bool git_net_url_valid(git_net_url *url);
/** Returns true if the URL is on the default port. */
extern bool git_net_url_is_default_port(git_net_url *url);
+/** Returns true if the host portion of the URL is an ipv6 address. */
+extern bool git_net_url_is_ipv6(git_net_url *url);
+
/* Applies a redirect to the URL with a git-aware service suffix. */
extern int git_net_url_apply_redirect(
git_net_url *url,