mirror of
https://git.proxmox.com/git/libgit2
synced 2025-05-29 06:20:56 +00:00
p_futimes: support using futimens when available
This commit is contained in:
parent
126932eb0b
commit
8649dfd8df
@ -19,6 +19,7 @@ CMAKE_POLICY(SET CMP0015 NEW)
|
||||
SET(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_SOURCE_DIR}/cmake/Modules/")
|
||||
|
||||
INCLUDE(CheckLibraryExists)
|
||||
INCLUDE(CheckFunctionExists)
|
||||
INCLUDE(AddCFlagIfSupported)
|
||||
INCLUDE(FindPkgConfig)
|
||||
|
||||
@ -431,6 +432,11 @@ ELSE ()
|
||||
ADD_C_FLAG_IF_SUPPORTED(-Wno-unused-const-variable)
|
||||
ADD_C_FLAG_IF_SUPPORTED(-Wno-unused-function)
|
||||
|
||||
CHECK_FUNCTION_EXISTS(futimens HAVE_FUTIMENS)
|
||||
IF (HAVE_FUTIMENS)
|
||||
ADD_DEFINITIONS(-DHAVE_FUTIMENS)
|
||||
ENDIF ()
|
||||
|
||||
IF (APPLE) # Apple deprecated OpenSSL
|
||||
ADD_C_FLAG_IF_SUPPORTED(-Wno-deprecated-declarations)
|
||||
ENDIF()
|
||||
|
@ -22,7 +22,6 @@ typedef int GIT_SOCKET;
|
||||
#define p_stat(p,b) stat(p, b)
|
||||
|
||||
#define p_utimes(f, t) utimes(f, t)
|
||||
#define p_futimes(f, t) futimes(f, t)
|
||||
|
||||
#define p_readlink(a, b, c) readlink(a, b, c)
|
||||
#define p_symlink(o,n) symlink(o, n)
|
||||
@ -53,4 +52,18 @@ extern char *p_realpath(const char *, char *);
|
||||
#define p_localtime_r(c, r) localtime_r(c, r)
|
||||
#define p_gmtime_r(c, r) gmtime_r(c, r)
|
||||
|
||||
#ifdef HAVE_FUTIMENS
|
||||
GIT_INLINE(int) p_futimes(int f, const struct timeval t[2])
|
||||
{
|
||||
struct timespec s[2];
|
||||
s[0].tv_sec = t[0].tv_sec;
|
||||
s[0].tv_nsec = t[0].tv_usec * 1000;
|
||||
s[1].tv_sec = t[1].tv_sec;
|
||||
s[1].tv_nsec = t[1].tv_usec * 1000;
|
||||
return futimens(f, s);
|
||||
}
|
||||
#else
|
||||
# define p_futimes futimes
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
Loading…
Reference in New Issue
Block a user