From d80a8850b6ade1d21f2529dced4918e000a174da Mon Sep 17 00:00:00 2001 From: Mark Vejvoda Date: Fri, 4 Jun 2010 20:26:15 +0000 Subject: [PATCH] updated macro's for platform specific logic --- .../platform/common/platform_common.cpp | 13 +++++++---- .../sources/platform/posix/socket.cpp | 23 ++++++++++++++----- 2 files changed, 25 insertions(+), 11 deletions(-) diff --git a/source/shared_lib/sources/platform/common/platform_common.cpp b/source/shared_lib/sources/platform/common/platform_common.cpp index eb0a29afb..d08f6cb59 100644 --- a/source/shared_lib/sources/platform/common/platform_common.cpp +++ b/source/shared_lib/sources/platform/common/platform_common.cpp @@ -584,21 +584,24 @@ void createDirectoryPaths(string Path) { //if (':' != *(path-1)) { -#if defined(_mkdir) || defined(WIN32) +#ifdef WIN32 _mkdir(DirName); -#elif defined(mkdir) +#elif defined(__GNUC__) mkdir(DirName, S_IRWXO); +#else + #error "Your compiler needs to support mkdir!" #endif } } *dirName++ = *path++; *dirName = '\0'; } -#if defined(_mkdir) || defined(WIN32) +#ifdef WIN32 _mkdir(DirName); -#elif defined(mkdir) +#elif defined(__GNUC__) mkdir(DirName, S_IRWXO); - +#else + #error "Your compiler needs to support mkdir!" #endif } diff --git a/source/shared_lib/sources/platform/posix/socket.cpp b/source/shared_lib/sources/platform/posix/socket.cpp index d91025586..1f287b3f9 100644 --- a/source/shared_lib/sources/platform/posix/socket.cpp +++ b/source/shared_lib/sources/platform/posix/socket.cpp @@ -1753,19 +1753,27 @@ void BroadCastSocketThread::execute() { float Socket::getAveragePingMS(std::string host, int pingCount) { double result = -1; - const bool debugPingOutput = false; + const bool debugPingOutput = true; char szCmd[1024]=""; #ifdef WIN32 sprintf(szCmd,"ping -n %d %s",pingCount,host.c_str()); -#else + if(debugPingOutput) printf("WIN32 is defined\n"); +#elif defined(__GNUC__) sprintf(szCmd,"ping -c %d %s",pingCount,host.c_str()); + if(debugPingOutput) printf("NON WIN32 is defined\n"); +#else + #error "Your compiler needs to support popen!" #endif if(szCmd[0] != '\0') { FILE *ping= NULL; -#if defined(_popen) || defined(WIN32) +#ifdef WIN32 ping= _popen(szCmd, "r"); -#elif defined(popen) + if(debugPingOutput) printf("WIN32 style _popen\n"); +#elif defined(__GNUC__) ping= popen(szCmd, "r"); + if(debugPingOutput) printf("POSIX style _popen\n"); +#else + #error "Your compiler needs to support popen!" #endif if (ping != NULL){ char buf[4000]=""; @@ -1774,10 +1782,13 @@ float Socket::getAveragePingMS(std::string host, int pingCount) { char *data = fgets(&buf[bufferPos], 256, ping); bufferPos = strlen(buf); } -#if defined(_pclose) || defined(WIN32) +#ifdef WIN32 _pclose(ping); -#elif defined(pclose) +#elif defined(__GNUC__) pclose(ping); +#else + #error "Your compiler needs to support popen!" + #endif if(debugPingOutput) printf("Running cmd [%s] got [%s]\n",szCmd,buf);