fixed a compilation issue with uClibc
parent
3199d256c9
commit
84c93479d8
|
@ -280,6 +280,7 @@ AC_STRUCT_ST_BLOCKS
|
|||
AC_CHECK_MEMBERS([struct stat.st_rdev])
|
||||
AC_CHECK_MEMBERS([struct stat.st_atim])
|
||||
AC_CHECK_MEMBERS([struct stat.st_atimespec])
|
||||
AC_CHECK_MEMBERS([struct stat.st_atimensec])
|
||||
|
||||
# For the 'nfconv' patch (Mac OS X only):
|
||||
case "${target_os}" in
|
||||
|
|
|
@ -39,7 +39,7 @@
|
|||
/*
|
||||
* assume "struct timespec" is not defined if st_mtime is not defined
|
||||
*/
|
||||
#ifndef st_mtime
|
||||
#if !defined(st_mtime) & !defined(__timespec_defined)
|
||||
struct timespec {
|
||||
time_t tv_sec;
|
||||
long tv_nsec;
|
||||
|
|
|
@ -36,6 +36,12 @@ static inline void fuse_mutex_init(pthread_mutex_t *mut)
|
|||
#define ST_MTIM_NSEC(stbuf) ((stbuf)->st_mtimespec.tv_nsec)
|
||||
#define ST_ATIM_NSEC_SET(stbuf, val) (stbuf)->st_atimespec.tv_nsec = (val)
|
||||
#define ST_MTIM_NSEC_SET(stbuf, val) (stbuf)->st_mtimespec.tv_nsec = (val)
|
||||
#elif defined(HAVE_STRUCT_STAT_ST_ATIMENSEC)
|
||||
#define ST_ATIM_NSEC(stbuf) ((stbuf)->st_atimensec)
|
||||
#define ST_CTIM_NSEC(stbuf) ((stbuf)->st_ctimensec)
|
||||
#define ST_MTIM_NSEC(stbuf) ((stbuf)->st_mtimensec)
|
||||
#define ST_ATIM_NSEC_SET(stbuf, val) (stbuf)->st_atimensec = (val)
|
||||
#define ST_MTIM_NSEC_SET(stbuf, val) (stbuf)->st_mtimensec = (val)
|
||||
#else
|
||||
#define ST_ATIM_NSEC(stbuf) 0
|
||||
#define ST_CTIM_NSEC(stbuf) 0
|
||||
|
|
|
@ -774,8 +774,32 @@ static int ntfs_fuse_getstat(struct SECURITY_CONTEXT *scx,
|
|||
stbuf->st_atim = ntfs2timespec(ni->last_access_time);
|
||||
stbuf->st_ctim = ntfs2timespec(ni->last_mft_change_time);
|
||||
stbuf->st_mtim = ntfs2timespec(ni->last_data_change_time);
|
||||
#elif defined(HAVE_STRUCT_STAT_ST_ATIMENSEC)
|
||||
{
|
||||
struct timespec ts;
|
||||
|
||||
ts = ntfs2timespec(ni->last_access_time);
|
||||
stbuf->st_atime = ts.tv_sec;
|
||||
stbuf->st_atimensec = ts.tv_nsec;
|
||||
ts = ntfs2timespec(ni->last_mft_change_time);
|
||||
stbuf->st_ctime = ts.tv_sec;
|
||||
stbuf->st_ctimensec = ts.tv_nsec;
|
||||
ts = ntfs2timespec(ni->last_data_change_time);
|
||||
stbuf->st_mtime = ts.tv_sec;
|
||||
stbuf->st_mtimensec = ts.tv_nsec;
|
||||
}
|
||||
#else
|
||||
#error "No known timespec member in struct stat!"
|
||||
#warning "No known way to set nanoseconds in struct stat !"
|
||||
{
|
||||
struct timespec ts;
|
||||
|
||||
ts = ntfs2timespec(ni->last_access_time);
|
||||
stbuf->st_atime = ts.tv_sec;
|
||||
ts = ntfs2timespec(ni->last_mft_change_time);
|
||||
stbuf->st_ctime = ts.tv_sec;
|
||||
ts = ntfs2timespec(ni->last_data_change_time);
|
||||
stbuf->st_mtime = ts.tv_sec;
|
||||
}
|
||||
#endif
|
||||
exit:
|
||||
return (res);
|
||||
|
|
|
@ -870,8 +870,32 @@ static int ntfs_fuse_getattr(const char *org_path, struct stat *stbuf)
|
|||
stbuf->st_atim = ntfs2timespec(ni->last_access_time);
|
||||
stbuf->st_ctim = ntfs2timespec(ni->last_mft_change_time);
|
||||
stbuf->st_mtim = ntfs2timespec(ni->last_data_change_time);
|
||||
#elif defined(HAVE_STRUCT_STAT_ST_ATIMENSEC)
|
||||
{
|
||||
struct timespec ts;
|
||||
|
||||
ts = ntfs2timespec(ni->last_access_time);
|
||||
stbuf->st_atime = ts.tv_sec;
|
||||
stbuf->st_atimensec = ts.tv_nsec;
|
||||
ts = ntfs2timespec(ni->last_mft_change_time);
|
||||
stbuf->st_ctime = ts.tv_sec;
|
||||
stbuf->st_ctimensec = ts.tv_nsec;
|
||||
ts = ntfs2timespec(ni->last_data_change_time);
|
||||
stbuf->st_mtime = ts.tv_sec;
|
||||
stbuf->st_mtimensec = ts.tv_nsec;
|
||||
}
|
||||
#else
|
||||
#error "No known timespec member in struct stat!"
|
||||
#warning "No known way to set nanoseconds in struct stat !"
|
||||
{
|
||||
struct timespec ts;
|
||||
|
||||
ts = ntfs2timespec(ni->last_access_time);
|
||||
stbuf->st_atime = ts.tv_sec;
|
||||
ts = ntfs2timespec(ni->last_mft_change_time);
|
||||
stbuf->st_ctime = ts.tv_sec;
|
||||
ts = ntfs2timespec(ni->last_data_change_time);
|
||||
stbuf->st_mtime = ts.tv_sec;
|
||||
}
|
||||
#endif
|
||||
exit:
|
||||
if (ntfs_inode_close(ni))
|
||||
|
|
Loading…
Reference in New Issue