]> de.git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - fs.c
Test return values of remove().
[xonotic/darkplaces.git] / fs.c
diff --git a/fs.c b/fs.c
index c7cc768152f629b5f336d79a051bab4c521b1548..f37fecd505de69f1ef57fd25d5b61449f8a6369a 100644 (file)
--- a/fs.c
+++ b/fs.c
@@ -1934,7 +1934,7 @@ static int FS_ChooseUserDir(userdirmode_t userdirmode, char *userdir, size_t use
        if(access(va(vabuf, sizeof(vabuf), "%s%s/", userdir, gamedirname1), W_OK | X_OK) >= 0)
                fd = 1;
        else
-               fd = 0;
+               fd = -1;
 #endif
        if(fd >= 0)
        {
@@ -2715,7 +2715,15 @@ int FS_Close (qfile_t* file)
        if (file->filename)
        {
                if (file->flags & QFILE_FLAG_REMOVE)
-                       remove(file->filename);
+               {
+                       if (remove(file->filename) == -1)
+                       {
+                               // No need to report this. If removing a just
+                               // written file failed, this most likely means
+                               // someone else deleted it first - which we
+                               // like.
+                       }
+               }
 
                Mem_Free((void *) file->filename);
        }