mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-04-27 08:43:40 -07:00
(Fcopy_file) [WINDOWSNT]: Use CopyFile.
This commit is contained in:
parent
302f0b2912
commit
e8691c592f
1 changed files with 17 additions and 0 deletions
17
src/fileio.c
17
src/fileio.c
|
|
@ -2334,6 +2334,22 @@ A prefix arg makes KEEP-TIME non-nil.")
|
|||
else if (stat (XSTRING (encoded_newname)->data, &out_st) < 0)
|
||||
out_st.st_mode = 0;
|
||||
|
||||
#ifdef WINDOWSNT
|
||||
if (!CopyFile (XSTRING (encoded_file)->data,
|
||||
XSTRING (encoded_newname)->data,
|
||||
FALSE))
|
||||
report_file_error ("Copying file", Fcons (file, Fcons (newname, Qnil)));
|
||||
else if (NILP (keep_time))
|
||||
{
|
||||
EMACS_TIME now;
|
||||
EMACS_GET_TIME (now);
|
||||
if (set_file_times (XSTRING (encoded_newname)->data,
|
||||
now, now))
|
||||
Fsignal (Qfile_date_error,
|
||||
Fcons (build_string ("Cannot set file date"),
|
||||
Fcons (newname, Qnil)));
|
||||
}
|
||||
#else /* not WINDOWSNT */
|
||||
ifd = emacs_open (XSTRING (encoded_file)->data, O_RDONLY, 0);
|
||||
if (ifd < 0)
|
||||
report_file_error ("Opening input file", Fcons (file, Qnil));
|
||||
|
|
@ -2423,6 +2439,7 @@ A prefix arg makes KEEP-TIME non-nil.")
|
|||
}
|
||||
|
||||
emacs_close (ifd);
|
||||
#endif /* WINDOWSNT */
|
||||
|
||||
/* Discard the unwind protects. */
|
||||
specpdl_ptr = specpdl + count;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue