diff options
| author | Tomáš Chvátal <scarabeus@gentoo.org> | 2009-12-09 21:50:27 +0100 |
|---|---|---|
| committer | Tomáš Chvátal <scarabeus@gentoo.org> | 2009-12-09 21:50:27 +0100 |
| commit | 7af605d1d42b2760799e816b7b25efe90a07d269 (patch) | |
| tree | 5ed4d679d6bdaf22b74c76d229d87ffe52e74bf3 /src | |
| parent | ddcbf2fcd7bfb9af4358593f8eebaa18d04c0f96 (diff) | |
Add most parts of Timoo's windows code, or use different logic to get to the same results.
Diffstat (limited to 'src')
| -rw-r--r-- | src/CMakeLists.txt | 4 | ||||
| -rw-r--r-- | src/base/archive.c | 10 | ||||
| -rw-r--r-- | src/base/arenaFile.c | 4 | ||||
| -rw-r--r-- | src/base/director.c | 2 | ||||
| -rw-r--r-- | src/base/homeDirector.c | 2 | ||||
| -rw-r--r-- | src/base/main.h | 6 | ||||
| -rw-r--r-- | src/base/textFile.c | 2 | ||||
| -rw-r--r-- | src/client/config.c | 2 | ||||
| -rw-r--r-- | src/client/saveLoad.c | 2 | ||||
| -rw-r--r-- | src/net/udp.h | 1 | ||||
| -rw-r--r-- | src/screen/settingKeys.c | 2 | ||||
| -rw-r--r-- | src/screen/table.c | 2 |
12 files changed, 27 insertions, 12 deletions
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index f18ed35..9e7b4eb 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -32,7 +32,9 @@ ELSE ( BUILD_SERVER ) ${FONTCONFIG_LIBRARIES} ) ENDIF ( BUILD_SERVER ) - +IF( WIN32 ) + LINK_LIBRARIES( -lwsock32 -lintl ) +ENDIF ( WIN32 ) ############################################################################### # SOURCE SPECIFICATION ############################################################################### diff --git a/src/base/archive.c b/src/base/archive.c index 5e2c25a..735a9ee 100644 --- a/src/base/archive.c +++ b/src/base/archive.c @@ -21,8 +21,14 @@ char *archive_extract_file(char *archive, char *filename) FILE *file; int len; int err; - - sprintf(name, "/tmp/tuxanci.%d-%s", getpid(), filename); + char *tmp; + +#ifndef __WIN32__ + tmp = getenv("TMPDIR"); +#else + tmp = getenv("TEMP"); +#endif + sprintf(name, "%s%stuxanci.%d-%s", tmp, PATH_SEPARATOR ,getpid(), filename); /*printf("ARCHIVE %s %s %s\n", archive, filename, name);*/ diff --git a/src/base/arenaFile.c b/src/base/arenaFile.c index e5a17ae..c494e1f 100644 --- a/src/base/arenaFile.c +++ b/src/base/arenaFile.c @@ -370,10 +370,10 @@ static void load_arenaFromDirector(char *director) if (strstr(line, ".zip") != NULL && strstr(line, "~") == NULL) { char path[STR_PATH_SIZE]; - if (director[strlen(director)-1] == '/') { + if (director[strlen(director)-1] == PATH_SEPARATOR) { sprintf(path, "%s%s", director, line); } else { - sprintf(path, "%s/%s", director, line); + sprintf(path, "%s%s%s", director, PATH_SEPARATOR, line); } debug("Loading arena [%s]", line); diff --git a/src/base/director.c b/src/base/director.c index 66cef0c..5c005cb 100644 --- a/src/base/director.c +++ b/src/base/director.c @@ -37,7 +37,7 @@ director_t *director_load(char *s) } else { /* this is really correct aproach */ getcwd(path, STR_PATH_SIZE); - strcat(path, "/"); + strcat(path, PATH_SEPARATOR); strcat(path, s); } diff --git a/src/base/homeDirector.c b/src/base/homeDirector.c index c9daf3d..5ff14b7 100644 --- a/src/base/homeDirector.c +++ b/src/base/homeDirector.c @@ -22,7 +22,7 @@ void home_director_create() exit(0); } - sprintf(homeDirector, "%s/%s", envHome, HOMEDIRECTOR_NAME); + sprintf(homeDirector, "%s%s%s", envHome, PATH_SEPARATOR, HOMEDIRECTOR_NAME); if (access(homeDirector, F_OK) != 0) { debug("Creating home directory [%s]", homeDirector); diff --git a/src/base/main.h b/src/base/main.h index 98919e3..3466c3d 100644 --- a/src/base/main.h +++ b/src/base/main.h @@ -21,6 +21,12 @@ #include "msg.h" +#ifndef __WIN32__ +#define PATH_SEPARATOR "/" +#else +#define PATH_SEPARATOR "\\" +#endif + #define UNUSED(var) if (0 && var) {} extern char *getParam(char *s); diff --git a/src/base/textFile.c b/src/base/textFile.c index d04d8e6..b1c2ad9 100644 --- a/src/base/textFile.c +++ b/src/base/textFile.c @@ -19,7 +19,7 @@ textFile_t *text_file_new(char *s) strcpy(path, s); } else { getcwd(path, STR_PATH_SIZE); - strcat(path, "/"); + strcat(path, PATH_SEPARATOR); strcat(path, s); } diff --git a/src/client/config.c b/src/client/config.c index 48496df..130fcdf 100644 --- a/src/client/config.c +++ b/src/client/config.c @@ -103,7 +103,7 @@ void config_load() char val[STR_SIZE]; int i; - sprintf(path, "%s/tuxanci.conf", home_director_get()); + sprintf(path, "%s%stuxanci.conf", home_director_get(), PATH_SEPARATOR); config_file = text_file_load(path); diff --git a/src/client/saveLoad.c b/src/client/saveLoad.c index 5328401..b5c5c50 100644 --- a/src/client/saveLoad.c +++ b/src/client/saveLoad.c @@ -83,7 +83,7 @@ void save_arena(char *filename, arena_t *arena) textFile_t *textFile; char path[STR_PATH_SIZE]; - sprintf(path, "%s/%s.sav", home_director_get(), filename); + sprintf(path, "%s%s%s.sav", home_director_get(), PATH_SEPARATOR, filename); debug("Saving game [%s]", path); diff --git a/src/net/udp.h b/src/net/udp.h index c26db69..0e54a9c 100644 --- a/src/net/udp.h +++ b/src/net/udp.h @@ -6,6 +6,7 @@ #else #include <windows.h> #include <wininet.h> +#include <winsock.h> #endif typedef struct struct_sock_udp_t { diff --git a/src/screen/settingKeys.c b/src/screen/settingKeys.c index a4b4929..da74b7b 100644 --- a/src/screen/settingKeys.c +++ b/src/screen/settingKeys.c @@ -133,7 +133,7 @@ void key_table_init() { char path[STR_PATH_SIZE]; - sprintf(path, "%s/keycontrol.conf", home_director_get()); + sprintf(path, "%s%skeycontrol.conf", home_director_get(), PATH_SEPARATOR); keycontrolFile = text_file_load(path); diff --git a/src/screen/table.c b/src/screen/table.c index 01995a4..34b4680 100644 --- a/src/screen/table.c +++ b/src/screen/table.c @@ -143,7 +143,7 @@ static void loadHighscoreFile() char path[STR_PATH_SIZE]; int i; - sprintf(path, "%s/" SCREEN_TABLE_FILE_HIGHSCORE_NAME, home_director_get()); + sprintf(path, "%s%s%s", home_director_get(), PATH_SEPARATOR, SCREEN_TABLE_FILE_HIGHSCORE_NAME); textFile = text_file_load(path); if (textFile == NULL) { |