File Open: Don't try to analyse the file if it's a directory.
[pspp-builds.git] / src / data / file-name.c
index 5e4080b11f22ffa463f4bc0264b68de2736abd25..9eeb4b1cfc06309e45c0777ef1277aa0fbeb4894 100644 (file)
@@ -128,12 +128,16 @@ fn_is_special (const char *file_name)
   return false;
 }
 
-/* Returns true if file with name NAME exists. */
+/* Returns true if file with name NAME exists, and that file is not a
+   directory */
 bool
 fn_exists (const char *name)
 {
   struct stat temp;
-  return stat (name, &temp) == 0;
+  if ( stat (name, &temp) != 0 )
+    return false;
+
+  return ! S_ISDIR (temp.st_mode);
 }
 \f
 /* Environment variables. */