Unverified Commit 6bf9b144 authored by DevineLiu's avatar DevineLiu Committed by GitHub
Browse files

redis-cli: Support URIs with IPv6 (#11834)


Co-authored-by: default avatarhrliu <hrliu@alauda.io>
parent 07ed0eaf
...@@ -352,9 +352,19 @@ void parseRedisUri(const char *uri, const char* tool_name, cliConnInfo *connInfo ...@@ -352,9 +352,19 @@ void parseRedisUri(const char *uri, const char* tool_name, cliConnInfo *connInfo
path = strchr(curr, '/'); path = strchr(curr, '/');
if (*curr != '/') { if (*curr != '/') {
host = path ? path - 1 : end; host = path ? path - 1 : end;
if ((port = strchr(curr, ':'))) { if (*curr == '[') {
connInfo->hostport = atoi(port + 1); curr += 1;
host = port - 1; if ((port = strchr(curr, ']'))) {
if (*(port+1) == ':') {
connInfo->hostport = atoi(port + 2);
}
host = port - 1;
}
} else {
if ((port = strchr(curr, ':'))) {
connInfo->hostport = atoi(port + 1);
host = port - 1;
}
} }
sdsfree(connInfo->hostip); sdsfree(connInfo->hostip);
connInfo->hostip = sdsnewlen(curr, host - curr + 1); connInfo->hostip = sdsnewlen(curr, host - curr + 1);
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment