fixed directory check to use POSIX macros
[rocksndiamonds.git] / src / libgame / misc.c
index 6d80620b99c61c1ebad5f5c5445c153ec6e5887d..c568159d41d4adf5c43781c4d2afa40f9f62ba19 100644 (file)
@@ -427,7 +427,9 @@ int WaitUntilDelayReached(unsigned int *counter_var, unsigned int delay)
       break;
   }
 
-  if (*counter_var != 0 && actual_counter >= *counter_var + delay)
+  if (*counter_var != 0 &&
+      delay != 0 &&
+      actual_counter >= *counter_var + delay)
   {
     int lag = actual_counter - (*counter_var + delay);
     int delay2 = (delay + 1) / 2;
@@ -2398,7 +2400,7 @@ DirectoryEntry *readDirectory(Directory *dir)
 
   dir->dir_entry->is_directory =
     (stat(dir->dir_entry->filename, &file_status) == 0 &&
-     (file_status.st_mode & S_IFMT) == S_IFDIR);
+     S_ISDIR(file_status.st_mode));
 
   return dir->dir_entry;
 }
@@ -2425,7 +2427,7 @@ boolean directoryExists(char *dir_name)
 
   struct stat file_status;
   boolean success = (stat(dir_name, &file_status) == 0 &&
-                    (file_status.st_mode & S_IFMT) == S_IFDIR);
+                    S_ISDIR(file_status.st_mode));
 
 #if defined(PLATFORM_ANDROID)
   if (!success)