summaryrefslogtreecommitdiff
path: root/sql/wsrep_utils.cc
diff options
context:
space:
mode:
authorMarko Mäkelä <marko.makela@mariadb.com>2017-09-01 11:33:45 +0300
committerMarko Mäkelä <marko.makela@mariadb.com>2017-09-01 11:33:45 +0300
commit4e1fa7f63da580c1e0e4256bc4af3c02cdc51939 (patch)
tree6ac1589c98dbf15a465365f4f16a09da51ea8c48 /sql/wsrep_utils.cc
parentff81faf670e083e1da4f3e7bce33fe9104410b2c (diff)
parent2f3968d98f8d90a9a9747e5b89c8f07efc6732e8 (diff)
downloadmariadb-git-4e1fa7f63da580c1e0e4256bc4af3c02cdc51939.tar.gz
Merge bb-10.2-ext into 10.3
Diffstat (limited to 'sql/wsrep_utils.cc')
-rw-r--r--sql/wsrep_utils.cc14
1 files changed, 14 insertions, 0 deletions
diff --git a/sql/wsrep_utils.cc b/sql/wsrep_utils.cc
index bff4b10ad83..3c341e222b3 100644
--- a/sql/wsrep_utils.cc
+++ b/sql/wsrep_utils.cc
@@ -574,3 +574,17 @@ done:
return ret;
}
+/* returns the length of the host part of the address string */
+size_t wsrep_host_len(const char* const addr, size_t const addr_len)
+{
+ // check for IPv6 notation first
+ const char* const bracket= ('[' == addr[0] ? strchr(addr, ']') : NULL);
+
+ if (bracket) { // IPv6
+ return (bracket - addr + 1);
+ }
+ else { // host part ends at ':' or end of string
+ const char* const colon= strchr(addr, ':');
+ return (colon ? colon - addr : addr_len);
+ }
+}