# HG changeset patch # User Karl Heuer # Date 836778998 0 # Node ID 537b4cdf9efff3f35369272b00d83b5ac56907ca # Parent 2cf06d9df144e175b561e5b6ce1c1374d83da6af (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. diff -r 2cf06d9df144 -r 537b4cdf9eff src/fileio.c --- 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); }