mirror of
https://github.com/neovim/neovim.git
synced 2024-12-19 18:55:14 -07:00
fileio.c: eliminate set_file_time() #10357
Introduce os_file_settime(), remove cruft.
This commit is contained in:
parent
fdd8dcae01
commit
3b504e7c8d
@ -32,7 +32,6 @@ if(NOT HAVE_SYS_WAIT_H AND UNIX)
|
||||
endif()
|
||||
check_include_files(sys/utsname.h HAVE_SYS_UTSNAME_H)
|
||||
check_include_files(termios.h HAVE_TERMIOS_H)
|
||||
check_include_files(utime.h HAVE_UTIME_H)
|
||||
check_include_files(sys/uio.h HAVE_SYS_UIO_H)
|
||||
|
||||
# Functions
|
||||
@ -53,8 +52,6 @@ check_function_exists(setsid HAVE_SETSID)
|
||||
check_function_exists(sigaction HAVE_SIGACTION)
|
||||
check_function_exists(strcasecmp HAVE_STRCASECMP)
|
||||
check_function_exists(strncasecmp HAVE_STRNCASECMP)
|
||||
check_function_exists(utime HAVE_UTIME)
|
||||
check_function_exists(utimes HAVE_UTIMES)
|
||||
|
||||
# Symbols
|
||||
check_symbol_exists(FD_CLOEXEC "fcntl.h" HAVE_FD_CLOEXEC)
|
||||
|
@ -38,9 +38,6 @@
|
||||
#cmakedefine HAVE_SYS_UTSNAME_H
|
||||
#cmakedefine HAVE_SYS_WAIT_H
|
||||
#cmakedefine HAVE_TERMIOS_H
|
||||
#cmakedefine HAVE_UTIME
|
||||
#cmakedefine HAVE_UTIME_H
|
||||
#cmakedefine HAVE_UTIMES
|
||||
#cmakedefine HAVE_WORKING_LIBINTL
|
||||
#cmakedefine HAVE_WSL
|
||||
#cmakedefine UNIX
|
||||
|
@ -58,10 +58,6 @@
|
||||
#include "nvim/os/time.h"
|
||||
#include "nvim/os/input.h"
|
||||
|
||||
#if defined(HAVE_UTIME) && defined(HAVE_UTIME_H)
|
||||
# include <utime.h> /* for struct utimbuf */
|
||||
#endif
|
||||
|
||||
#define BUFSIZE 8192 /* size of normal write buffer */
|
||||
#define SMBUFSIZE 256 /* size of emergency write buffer */
|
||||
|
||||
@ -190,10 +186,6 @@ struct bw_info {
|
||||
# include "fileio.c.generated.h"
|
||||
#endif
|
||||
|
||||
#ifdef UNIX
|
||||
#endif
|
||||
|
||||
|
||||
static char *e_auchangedbuf = N_(
|
||||
"E812: Autocommands changed buffer or buffer name");
|
||||
|
||||
@ -2198,34 +2190,6 @@ static void check_marks_read(void)
|
||||
curbuf->b_marks_read = true;
|
||||
}
|
||||
|
||||
#ifdef UNIX
|
||||
static void
|
||||
set_file_time (
|
||||
char_u *fname,
|
||||
time_t atime, /* access time */
|
||||
time_t mtime /* modification time */
|
||||
)
|
||||
{
|
||||
# if defined(HAVE_UTIME) && defined(HAVE_UTIME_H)
|
||||
struct utimbuf buf;
|
||||
|
||||
buf.actime = atime;
|
||||
buf.modtime = mtime;
|
||||
(void)utime((char *)fname, &buf);
|
||||
# else
|
||||
# if defined(HAVE_UTIMES)
|
||||
struct timeval tvp[2];
|
||||
|
||||
tvp[0].tv_sec = atime;
|
||||
tvp[0].tv_usec = 0;
|
||||
tvp[1].tv_sec = mtime;
|
||||
tvp[1].tv_usec = 0;
|
||||
(void)utimes((char *)fname, (const struct timeval *)&tvp);
|
||||
# endif
|
||||
# endif
|
||||
}
|
||||
#endif /* UNIX */
|
||||
|
||||
/*
|
||||
* buf_write() - write to file "fname" lines "start" through "end"
|
||||
*
|
||||
@ -2887,9 +2851,9 @@ buf_write (
|
||||
}
|
||||
|
||||
#ifdef UNIX
|
||||
set_file_time(backup,
|
||||
file_info_old.stat.st_atim.tv_sec,
|
||||
file_info_old.stat.st_mtim.tv_sec);
|
||||
os_file_settime((char *)backup,
|
||||
file_info_old.stat.st_atim.tv_sec,
|
||||
file_info_old.stat.st_mtim.tv_sec);
|
||||
#endif
|
||||
#ifdef HAVE_ACL
|
||||
mch_set_acl(backup, acl);
|
||||
@ -3572,9 +3536,9 @@ restore_backup:
|
||||
vim_rename(backup, (char_u *)org);
|
||||
XFREE_CLEAR(backup); // don't delete the file
|
||||
#ifdef UNIX
|
||||
set_file_time((char_u *)org,
|
||||
file_info_old.stat.st_atim.tv_sec,
|
||||
file_info_old.stat.st_mtim.tv_sec);
|
||||
os_file_settime(org,
|
||||
file_info_old.stat.st_atim.tv_sec,
|
||||
file_info_old.stat.st_mtim.tv_sec);
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
@ -746,6 +746,22 @@ bool os_path_exists(const char_u *path)
|
||||
return os_stat((char *)path, &statbuf) == kLibuvSuccess;
|
||||
}
|
||||
|
||||
/// Sets file access and modification times.
|
||||
///
|
||||
/// @see POSIX utime(2)
|
||||
///
|
||||
/// @param path File path.
|
||||
/// @param atime Last access time.
|
||||
/// @param mtime Last modification time.
|
||||
///
|
||||
/// @return 0 on success, or negative error code.
|
||||
int os_file_settime(const char *path, double atime, double mtime)
|
||||
{
|
||||
int r;
|
||||
RUN_UV_FS_FUNC(r, uv_fs_utime, path, atime, mtime, NULL);
|
||||
return r;
|
||||
}
|
||||
|
||||
/// Check if a file is readable.
|
||||
///
|
||||
/// @return true if `name` is readable, otherwise false.
|
||||
|
Loading…
Reference in New Issue
Block a user