diff options
author | Karl Heuer <kwzh@gnu.org> | 1996-07-07 22:36:38 +0000 |
---|---|---|
committer | Karl Heuer <kwzh@gnu.org> | 1996-07-07 22:36:38 +0000 |
commit | 34ead71a13152314bf149fbd185cd29b89ae5cb0 (patch) | |
tree | bf49f019a6be78e0543e2c5e55faf0ce45d230be /src | |
parent | ac8da9507a7de118d02daf69f81ce30ae0b4345d (diff) | |
download | emacs-34ead71a13152314bf149fbd185cd29b89ae5cb0.tar.gz |
(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.
Diffstat (limited to 'src')
-rw-r--r-- | src/fileio.c | 8 |
1 files 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); } |