diff options
author | Darkvater <darkvater@openttd.org> | 2007-01-16 23:01:06 +0000 |
---|---|---|
committer | Darkvater <darkvater@openttd.org> | 2007-01-16 23:01:06 +0000 |
commit | 1f3ea708c3014d7d881577d27b254c80c8201f54 (patch) | |
tree | 700c3ad448c00a1362caf7d0b2195d5ec5c874fe /src/network | |
parent | 96b19ca23e95b7b2a05adca53774254f42a76504 (diff) | |
download | openttd-1f3ea708c3014d7d881577d27b254c80c8201f54.tar.xz |
(svn r8168) -Regression (r6783): ParseConnectionstring didn't use the port parameter if a player was also specified. (both IP#Player:Port and IP:Port#Player btw)
Diffstat (limited to 'src/network')
-rw-r--r-- | src/network/network.cpp | 29 |
1 files changed, 15 insertions, 14 deletions
diff --git a/src/network/network.cpp b/src/network/network.cpp index 124409e3d..0211aebd2 100644 --- a/src/network/network.cpp +++ b/src/network/network.cpp @@ -525,24 +525,25 @@ unsigned long NetworkResolveHost(const char *hostname) return ip; } -// Converts a string to ip/port/player -// Format: IP#player:port -// -// connection_string will be re-terminated to seperate out the hostname, and player and port will -// be set to the player and port strings given by the user, inside the memory area originally -// occupied by connection_string. +/** Converts a string to ip/port/player + * Format: IP#player:port + * + * connection_string will be re-terminated to seperate out the hostname, and player and port will + * be set to the player and port strings given by the user, inside the memory area originally + * occupied by connection_string. */ void ParseConnectionString(const char **player, const char **port, char *connection_string) { char *p; for (p = connection_string; *p != '\0'; p++) { - if (*p == '#') { - *p = '\0'; - *player = ++p; - while (IsValidChar(*p, CS_NUMERAL)) p++; - if (*p == '\0') break; - } else if (*p == ':') { - *port = p + 1; - *p = '\0'; + switch (*p) { + case '#': + *player = p + 1; + *p = '\0'; + break; + case ':': + *port = p + 1; + *p = '\0'; + break; } } } |