From 34ead71a13152314bf149fbd185cd29b89ae5cb0 Mon Sep 17 00:00:00 2001 From: Karl Heuer Date: Sun, 7 Jul 1996 22:36:38 +0000 Subject: [PATCH] (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. --- src/fileio.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/fileio.c b/src/fileio.c index 6f99f002cad..d1e4a09da6d 100644 --- a/src/fileio.c +++ b/src/fileio.c @@ -2078,7 +2078,7 @@ A prefix arg makes KEEP-TIME non-nil.") 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 @@ check_executable (filename) 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 @@ DEFUN ("file-modes", Ffile_modes, Sfile_modes, 1, 1, 0, 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); } -- 2.39.2