changeset 15625:537b4cdf9eff

(Fcopy_file): Use st_ino under DJGPP v2 and later to prevent copying file into itself. (check_executable): DJGPP v2 `stat' doesn't need to be augmented in case of executable files. (Ffile_modes): Use `stat' results as is in DJGPP v2 and later.
author Karl Heuer <kwzh@gnu.org>
date Sun, 07 Jul 1996 22:36:38 +0000
parents 2cf06d9df144
children a973e9f3f6d1
files src/fileio.c
diffstat 1 files changed, 4 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/src/fileio.c	Sun Jul 07 22:29:37 1996 +0000
+++ b/src/fileio.c	Sun Jul 07 22:36:38 1996 +0000
@@ -2078,7 +2078,7 @@
      copyable by us. */
   input_file_statable_p = (fstat (ifd, &st) >= 0);
 
-#ifndef MSDOS
+#if !defined (MSDOS) || __DJGPP__ > 1
   if (out_st.st_mode != 0
       && st.st_dev == out_st.st_dev && st.st_ino == out_st.st_ino)
     {
@@ -2534,7 +2534,7 @@
   struct stat st;
   if (stat (filename, &st) < 0)
     return 0;
-#ifdef WINDOWSNT
+#if defined (WINDOWSNT) || (defined (MSDOS) && __DJGPP__ > 1)
   return ((st.st_mode & S_IEXEC) != 0);
 #else
   return (S_ISREG (st.st_mode)
@@ -2840,10 +2840,10 @@
 
   if (stat (XSTRING (absname)->data, &st) < 0)
     return Qnil;
-#ifdef MSDOS
+#if defined (MSDOS) && __DJGPP__ < 2
   if (check_executable (XSTRING (absname)->data))
     st.st_mode |= S_IEXEC;
-#endif /* MSDOS */
+#endif /* MSDOS && __DJGPP__ < 2 */
 
   return make_number (st.st_mode & 07777);
 }