XEmacs 21.2.45 "Thelxepeia".
[chise/xemacs-chise.git.1] / src / fileio.c
index 5a6d477..692e49e 100644 (file)
@@ -1676,6 +1676,16 @@ barf_or_query_if_file_exists (Lisp_Object absname, const char *querystring,
   return;
 }
 
+/* A slightly higher-level interface than `set_file_times' */
+static int
+lisp_string_set_file_times (Lisp_Object filename,
+                           EMACS_TIME atime, EMACS_TIME mtime)
+{
+  char *ext_filename;
+  LISP_STRING_TO_EXTERNAL (filename, ext_filename, Qfile_name);
+  return set_file_times (ext_filename, atime, mtime);
+}
+
 DEFUN ("copy-file", Fcopy_file, 2, 4,
        "fCopy file: \nFCopy %s to file: \np\nP", /*
 Copy FILENAME to NEWNAME.  Both args must be strings.
@@ -1813,8 +1823,7 @@ A prefix arg makes KEEP-TIME non-nil.
            EMACS_TIME atime, mtime;
            EMACS_SET_SECS_USECS (atime, st.st_atime, 0);
            EMACS_SET_SECS_USECS (mtime, st.st_mtime, 0);
-           if (set_file_times ((char *) XSTRING_DATA (newname), atime,
-                               mtime))
+           if (lisp_string_set_file_times (newname, atime, mtime))
              report_file_error ("I/O error", list1 (newname));
          }
        chmod ((const char *) XSTRING_DATA (newname),