summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--console.c2
-rw-r--r--console.h3
-rw-r--r--console_cmds.c32
-rw-r--r--network.c17
-rw-r--r--network.h2
-rw-r--r--network_gui.c22
6 files changed, 34 insertions, 44 deletions
diff --git a/console.c b/console.c
index 21bb8f6d6..6f0b684f4 100644
--- a/console.c
+++ b/console.c
@@ -436,7 +436,7 @@ void IConsoleVarRegister(const byte * name, void * addr, byte type)
}
}
-void IConsoleVarMemRegister(byte * name, byte type) /* XXX TRON */
+void IConsoleVarMemRegister(const byte * name, byte type)
{
_iconsole_var * item;
item = IConsoleVarAlloc(type);
diff --git a/console.h b/console.h
index b72b3cc3c..fb3a7aa96 100644
--- a/console.h
+++ b/console.h
@@ -102,7 +102,7 @@ void* IConsoleCmdGetAddr(byte * name);
// *** Variables *** //
void IConsoleVarRegister(const byte * name, void * addr, byte type);
-void IConsoleVarMemRegister(byte * name, byte type);
+void IConsoleVarMemRegister(const byte * name, byte type);
void IConsoleVarInsert(_iconsole_var * var, const byte * name);
_iconsole_var * IConsoleVarGet(const byte * name);
_iconsole_var * IConsoleVarAlloc(byte type);
@@ -124,5 +124,4 @@ void IConsoleCmdHook(const byte * name, byte type, void * proc);
bool IConsoleVarHookHandle(_iconsole_var * hook_var, byte type);
bool IConsoleCmdHookHandle(_iconsole_cmd * hook_cmd, byte type);
-
#endif /* CONSOLE_H */
diff --git a/console_cmds.c b/console_cmds.c
index 948bc7b03..8afcbe8d5 100644
--- a/console_cmds.c
+++ b/console_cmds.c
@@ -96,43 +96,29 @@ DEF_CONSOLE_CMD(ConScrollToTile)
DEF_CONSOLE_CMD(ConNetworkConnect)
{
- byte * b;
- byte * ip = NULL;
- byte * port = NULL;
- byte * player = NULL;
- byte c;
+ byte * ip;
+ const byte *port = NULL;
+ const byte *player = NULL;
uint16 rport;
if (argc<2) return NULL;
- b = argv[1];
+ ip = argv[1];
rport = _network_server_port;
- c = 0;
- ip = b;
- while (b[c] != 0) {
- if (((char)b[c]) == '#') {
- player = &b[c+1];
- b[c] = 0;
- }
- if (((char)b[c]) == ':') {
- port = &b[c+1];
- b[c] = 0;
- }
- c++;
- }
+ ParseConnectionString(&player, &port, ip);
- IConsolePrintF(_iconsole_color_default,"Connecting to %s...",ip);
+ IConsolePrintF(_iconsole_color_default,"Connecting to %s...", ip);
if (player!=NULL) {
_network_playas = atoi(player);
- IConsolePrintF(_iconsole_color_default," player-no: %s",player);
+ IConsolePrintF(_iconsole_color_default," player-no: %s", player);
}
if (port!=NULL) {
rport = atoi(port);
- IConsolePrintF(_iconsole_color_default," port: %s",port);
+ IConsolePrintF(_iconsole_color_default," port: %s", port);
}
- NetworkCoreConnectGame(b, rport);
+ NetworkCoreConnectGame(ip, rport);
return NULL;
}
diff --git a/network.c b/network.c
index e2596d192..5ec84508f 100644
--- a/network.c
+++ b/network.c
@@ -1653,6 +1653,22 @@ void NetworkCoreShutdown()
/* *************************************************** */
+void ParseConnectionString(const byte **player, const byte **port, byte *connection_string)
+{
+ byte c = 0;
+ while (connection_string[c] != '\0') {
+ if (connection_string[c] == '#') {
+ *player = &connection_string[c+1];
+ connection_string[c] = '\0';
+ }
+ if (connection_string[c] == ':') {
+ *port = &connection_string[c+1];
+ connection_string[c] = '\0';
+ }
+ c++;
+ }
+}
+
bool NetworkCoreConnectGame(const byte* b, unsigned short port)
{
if (!_network_available) return false;
@@ -1901,6 +1917,7 @@ void NetworkCoreInit() { _network_available=false; };
void NetworkCoreShutdown() {};
void NetworkCoreDisconnect() {};
void NetworkCoreLoop(bool incomming) {};
+void ParseConnectionString(const byte **player, const byte **port, byte *connection_string) {};
bool NetworkCoreConnectGame(const byte* b, unsigned short port) {return false;};
bool NetworkCoreStartGame() {return false;};
void NetworkLobbyShutdown() {};
diff --git a/network.h b/network.h
index e4fd42a36..df4871ba9 100644
--- a/network.h
+++ b/network.h
@@ -27,4 +27,6 @@ typedef struct NetworkGameList {
NetworkGameInfo _network_game;
NetworkGameList * _network_game_list;
+void ParseConnectionString(const byte **player, const byte **port, byte *connection_string);
+
#endif /* NETWORK_H */
diff --git a/network_gui.c b/network_gui.c
index cfacbe262..216be02c8 100644
--- a/network_gui.c
+++ b/network_gui.c
@@ -170,27 +170,13 @@ static void NetworkGameWindowWndProc(Window *w, WindowEvent *e)
case WE_ON_EDIT_TEXT: {
byte *b = e->edittext.str;
if (*b != 0) {
- byte * ip = NULL;
- byte * port = NULL;
- byte * player = NULL;
- byte c;
+ const byte *port = NULL;
+ const byte *player = NULL;
uint16 rport;
rport = _network_server_port;
- c = 0;
- ip = b;
-
- while (b[c] != 0) {
- if (((char)b[c]) == '#') {
- player = &b[c+1];
- b[c] = 0;
- }
- if (((char)b[c]) == ':') {
- port = &b[c+1];
- b[c] = 0;
- }
- c++;
- }
+
+ ParseConnectionString(&player, &port, b);
if (player!=NULL) _network_playas = atoi(player);
if (port!=NULL) rport = atoi(port);