diff --git a/src/include/master.h b/src/include/master.h index de6892f5e..29a7bb779 100644 --- a/src/include/master.h +++ b/src/include/master.h @@ -41,8 +41,8 @@ -- Defines ----------------------------------------------------------------------------*/ -#define MASTER_HOST "stratagus.dyndns.org" -#define MASTER_PORT 8123 +#define MASTER_HOST "mohydine.no-ip.com" +#define MASTER_PORT 7775 /*---------------------------------------------------------------------------- -- Declarations diff --git a/src/network/master.cpp b/src/network/master.cpp index aa164e5da..6e65ae927 100644 --- a/src/network/master.cpp +++ b/src/network/master.cpp @@ -85,7 +85,7 @@ global int MetaInit(void) { int TCPConnectStatus; // = 0 if not successful, -1 if not. int i; - char** reply; + char* reply; reply = NULL; sockfd = NetworkFildes; @@ -109,15 +109,15 @@ global int MetaInit(void) return -1; } - if (RecvMetaReply(reply) == -1) { + if (RecvMetaReply(&reply) == -1) { //TODO: Notify player that connection was aborted... return -1; } else { - if (MetaServerOK(reply)) { - free(*reply); + if (MetaServerOK(&reply)) { + free(reply); return 0; } else { - free(*reply); + free(reply); return -1; } } @@ -230,7 +230,6 @@ global int SendMetaCommand(char* command, char* format, ...) global int RecvMetaReply(char** reply) { int n; - int size; char* p; char buf[1024]; @@ -238,16 +237,15 @@ global int RecvMetaReply(char** reply) return -1; } - size = 1; p = NULL; - while ((n = NetRecvTCP(sockfd, &buf, 1024))) { - size += n; - if ((p = realloc(p, size)) == NULL) { - return -1; - } - strcat(p, buf); + + n = NetRecvTCP(sockfd, &buf, 1024); + if (!(p = malloc(n + 1))) { + return -1; } + buf[n]='\0'; + strcpy(p, buf); - reply = &p; - return size; + *reply = p; + return n; }