mirror of
https://github.com/neovim/neovim.git
synced 2025-10-08 02:46:31 +00:00
fileio.c: eliminate set_file_time() #10357
Introduce os_file_settime(), remove cruft.
This commit is contained in:
@@ -32,7 +32,6 @@ if(NOT HAVE_SYS_WAIT_H AND UNIX)
|
|||||||
endif()
|
endif()
|
||||||
check_include_files(sys/utsname.h HAVE_SYS_UTSNAME_H)
|
check_include_files(sys/utsname.h HAVE_SYS_UTSNAME_H)
|
||||||
check_include_files(termios.h HAVE_TERMIOS_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)
|
check_include_files(sys/uio.h HAVE_SYS_UIO_H)
|
||||||
|
|
||||||
# Functions
|
# Functions
|
||||||
@@ -53,8 +52,6 @@ check_function_exists(setsid HAVE_SETSID)
|
|||||||
check_function_exists(sigaction HAVE_SIGACTION)
|
check_function_exists(sigaction HAVE_SIGACTION)
|
||||||
check_function_exists(strcasecmp HAVE_STRCASECMP)
|
check_function_exists(strcasecmp HAVE_STRCASECMP)
|
||||||
check_function_exists(strncasecmp HAVE_STRNCASECMP)
|
check_function_exists(strncasecmp HAVE_STRNCASECMP)
|
||||||
check_function_exists(utime HAVE_UTIME)
|
|
||||||
check_function_exists(utimes HAVE_UTIMES)
|
|
||||||
|
|
||||||
# Symbols
|
# Symbols
|
||||||
check_symbol_exists(FD_CLOEXEC "fcntl.h" HAVE_FD_CLOEXEC)
|
check_symbol_exists(FD_CLOEXEC "fcntl.h" HAVE_FD_CLOEXEC)
|
||||||
|
@@ -38,9 +38,6 @@
|
|||||||
#cmakedefine HAVE_SYS_UTSNAME_H
|
#cmakedefine HAVE_SYS_UTSNAME_H
|
||||||
#cmakedefine HAVE_SYS_WAIT_H
|
#cmakedefine HAVE_SYS_WAIT_H
|
||||||
#cmakedefine HAVE_TERMIOS_H
|
#cmakedefine HAVE_TERMIOS_H
|
||||||
#cmakedefine HAVE_UTIME
|
|
||||||
#cmakedefine HAVE_UTIME_H
|
|
||||||
#cmakedefine HAVE_UTIMES
|
|
||||||
#cmakedefine HAVE_WORKING_LIBINTL
|
#cmakedefine HAVE_WORKING_LIBINTL
|
||||||
#cmakedefine HAVE_WSL
|
#cmakedefine HAVE_WSL
|
||||||
#cmakedefine UNIX
|
#cmakedefine UNIX
|
||||||
|
@@ -58,10 +58,6 @@
|
|||||||
#include "nvim/os/time.h"
|
#include "nvim/os/time.h"
|
||||||
#include "nvim/os/input.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 BUFSIZE 8192 /* size of normal write buffer */
|
||||||
#define SMBUFSIZE 256 /* size of emergency write buffer */
|
#define SMBUFSIZE 256 /* size of emergency write buffer */
|
||||||
|
|
||||||
@@ -190,10 +186,6 @@ struct bw_info {
|
|||||||
# include "fileio.c.generated.h"
|
# include "fileio.c.generated.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef UNIX
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
static char *e_auchangedbuf = N_(
|
static char *e_auchangedbuf = N_(
|
||||||
"E812: Autocommands changed buffer or buffer name");
|
"E812: Autocommands changed buffer or buffer name");
|
||||||
|
|
||||||
@@ -2198,34 +2190,6 @@ static void check_marks_read(void)
|
|||||||
curbuf->b_marks_read = true;
|
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"
|
* buf_write() - write to file "fname" lines "start" through "end"
|
||||||
*
|
*
|
||||||
@@ -2887,7 +2851,7 @@ buf_write (
|
|||||||
}
|
}
|
||||||
|
|
||||||
#ifdef UNIX
|
#ifdef UNIX
|
||||||
set_file_time(backup,
|
os_file_settime((char *)backup,
|
||||||
file_info_old.stat.st_atim.tv_sec,
|
file_info_old.stat.st_atim.tv_sec,
|
||||||
file_info_old.stat.st_mtim.tv_sec);
|
file_info_old.stat.st_mtim.tv_sec);
|
||||||
#endif
|
#endif
|
||||||
@@ -3572,7 +3536,7 @@ restore_backup:
|
|||||||
vim_rename(backup, (char_u *)org);
|
vim_rename(backup, (char_u *)org);
|
||||||
XFREE_CLEAR(backup); // don't delete the file
|
XFREE_CLEAR(backup); // don't delete the file
|
||||||
#ifdef UNIX
|
#ifdef UNIX
|
||||||
set_file_time((char_u *)org,
|
os_file_settime(org,
|
||||||
file_info_old.stat.st_atim.tv_sec,
|
file_info_old.stat.st_atim.tv_sec,
|
||||||
file_info_old.stat.st_mtim.tv_sec);
|
file_info_old.stat.st_mtim.tv_sec);
|
||||||
#endif
|
#endif
|
||||||
|
@@ -746,6 +746,22 @@ bool os_path_exists(const char_u *path)
|
|||||||
return os_stat((char *)path, &statbuf) == kLibuvSuccess;
|
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.
|
/// Check if a file is readable.
|
||||||
///
|
///
|
||||||
/// @return true if `name` is readable, otherwise false.
|
/// @return true if `name` is readable, otherwise false.
|
||||||
|
Reference in New Issue
Block a user