diff options
| author | Karl Heuer | 1996-07-07 22:36:38 +0000 |
|---|---|---|
| committer | Karl Heuer | 1996-07-07 22:36:38 +0000 |
| commit | 34ead71a13152314bf149fbd185cd29b89ae5cb0 (patch) | |
| tree | bf49f019a6be78e0543e2c5e55faf0ce45d230be /src | |
| parent | ac8da9507a7de118d02daf69f81ce30ae0b4345d (diff) | |
| download | emacs-34ead71a13152314bf149fbd185cd29b89ae5cb0.tar.gz emacs-34ead71a13152314bf149fbd185cd29b89ae5cb0.zip | |
(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.") | |||
| 2078 | copyable by us. */ | 2078 | copyable by us. */ |
| 2079 | input_file_statable_p = (fstat (ifd, &st) >= 0); | 2079 | input_file_statable_p = (fstat (ifd, &st) >= 0); |
| 2080 | 2080 | ||
| 2081 | #ifndef MSDOS | 2081 | #if !defined (MSDOS) || __DJGPP__ > 1 |
| 2082 | if (out_st.st_mode != 0 | 2082 | if (out_st.st_mode != 0 |
| 2083 | && st.st_dev == out_st.st_dev && st.st_ino == out_st.st_ino) | 2083 | && st.st_dev == out_st.st_dev && st.st_ino == out_st.st_ino) |
| 2084 | { | 2084 | { |
| @@ -2534,7 +2534,7 @@ check_executable (filename) | |||
| 2534 | struct stat st; | 2534 | struct stat st; |
| 2535 | if (stat (filename, &st) < 0) | 2535 | if (stat (filename, &st) < 0) |
| 2536 | return 0; | 2536 | return 0; |
| 2537 | #ifdef WINDOWSNT | 2537 | #if defined (WINDOWSNT) || (defined (MSDOS) && __DJGPP__ > 1) |
| 2538 | return ((st.st_mode & S_IEXEC) != 0); | 2538 | return ((st.st_mode & S_IEXEC) != 0); |
| 2539 | #else | 2539 | #else |
| 2540 | return (S_ISREG (st.st_mode) | 2540 | return (S_ISREG (st.st_mode) |
| @@ -2840,10 +2840,10 @@ DEFUN ("file-modes", Ffile_modes, Sfile_modes, 1, 1, 0, | |||
| 2840 | 2840 | ||
| 2841 | if (stat (XSTRING (absname)->data, &st) < 0) | 2841 | if (stat (XSTRING (absname)->data, &st) < 0) |
| 2842 | return Qnil; | 2842 | return Qnil; |
| 2843 | #ifdef MSDOS | 2843 | #if defined (MSDOS) && __DJGPP__ < 2 |
| 2844 | if (check_executable (XSTRING (absname)->data)) | 2844 | if (check_executable (XSTRING (absname)->data)) |
| 2845 | st.st_mode |= S_IEXEC; | 2845 | st.st_mode |= S_IEXEC; |
| 2846 | #endif /* MSDOS */ | 2846 | #endif /* MSDOS && __DJGPP__ < 2 */ |
| 2847 | 2847 | ||
| 2848 | return make_number (st.st_mode & 07777); | 2848 | return make_number (st.st_mode & 07777); |
| 2849 | } | 2849 | } |