summaryrefslogtreecommitdiff
path: root/sys/src/games/doom/i_system.c
diff options
context:
space:
mode:
authorcinap_lenrek <cinap_lenrek@gmx.de>2012-07-27 14:42:43 +0200
committercinap_lenrek <cinap_lenrek@gmx.de>2012-07-27 14:42:43 +0200
commit543e510da1869cf8d352225bade8fc732c598497 (patch)
tree3fe4cf0d6204b47acd76e4e08ee09add6bb136ea /sys/src/games/doom/i_system.c
parentab08c97e6010309d4ea0df26815d074b1f5d1a4b (diff)
doom: cleanup
Diffstat (limited to 'sys/src/games/doom/i_system.c')
-rw-r--r--sys/src/games/doom/i_system.c19
1 files changed, 14 insertions, 5 deletions
diff --git a/sys/src/games/doom/i_system.c b/sys/src/games/doom/i_system.c
index 8e17da76b..e83d2f0db 100644
--- a/sys/src/games/doom/i_system.c
+++ b/sys/src/games/doom/i_system.c
@@ -113,7 +113,7 @@ void I_Error (char *error, ...)
int I_FileExists (char *filepath)
{
- return (0 == access(filepath, AREAD));
+ return access(filepath, AEXIST) == 0;
}
int I_Open (char *filepath)
@@ -138,17 +138,26 @@ int I_Read (int handle, void *buf, int n)
char* I_IdentifyWAD(char *wadname)
{
- char path[1024];
+ static char path[1024];
+ char *home;
- snprintf(path, sizeof path, "/sys/lib/doom/%s", wadname);
+ snprint(path, sizeof path, wadname);
if (I_FileExists (path))
return path;
- snprintf(path, sizeof path, "/sys/games/lib/doom/%s", wadname);
+ if(home = getenv("home")){
+ snprintf(path, sizeof path, "%s/lib/doom/%s", home, wadname);
+ free(home);
+
+ if (I_FileExists (path))
+ return path;
+ }
+
+ snprintf(path, sizeof path, "/sys/lib/doom/%s", wadname);
if (I_FileExists (path))
return path;
- snprintf(path, sizeof path, "%s/lib/doom/%s", getenv("home"), wadname);
+ snprintf(path, sizeof path, "/sys/games/lib/doom/%s", wadname);
if (I_FileExists (path))
return path;