diff options
| author | Wiimm <none> | 2020-09-30 15:43:02 +0200 |
|---|---|---|
| committer | Wiimm <none> | 2020-09-30 15:43:02 +0200 |
| commit | 50a8c14d2acb20822baff451b35476d717ffc5b4 (patch) | |
| tree | ba286f8307130b9143bc43e20978927c94a8f65b /project/dclib | |
| parent | 646b95d113309378591b75a290ee6c62a04f3772 (diff) | |
SZS v2.20a.beta2: Test Mac build
Diffstat (limited to 'project/dclib')
| -rw-r--r-- | project/dclib/dclib-file.c | 13 | ||||
| -rw-r--r-- | project/dclib/dclib-file.h | 15 |
2 files changed, 18 insertions, 10 deletions
diff --git a/project/dclib/dclib-file.c b/project/dclib/dclib-file.c index a4849e3..2cc8fa1 100644 --- a/project/dclib/dclib-file.c +++ b/project/dclib/dclib-file.c @@ -198,7 +198,7 @@ FileAttrib_t * ClearFileAttrib FileAttrib_t * dest // NULL or destination attribute ) { - #if USE_NEW_FILEATTRIB + #if HAVE_FILEATTRIB_NSEC if (dest) { memset(dest,0,sizeof(*dest)); @@ -222,7 +222,7 @@ FileAttrib_t * TouchFileAttrib ) { DASSERT(dest); - #if USE_NEW_FILEATTRIB + #if HAVE_FILEATTRIB_NSEC struct timeval tv; if (!gettimeofday(&tv,0)) { @@ -248,7 +248,7 @@ FileAttrib_t * SetFileAttrib { DASSERT(dest); - #if USE_NEW_FILEATTRIB + #if HAVE_FILEATTRIB_NSEC if (src_fa) memcpy(dest,src_fa,sizeof(*dest)); @@ -302,7 +302,7 @@ FileAttrib_t * MaxFileAttrib { DASSERT(dest); - #if USE_NEW_FILEATTRIB + #if HAVE_FILEATTRIB_NSEC if (src_fa) { @@ -387,7 +387,7 @@ FileAttrib_t * NormalizeFileAttrib if ( fa->size < 0 ) fa->size = 0; - #if USE_NEW_FILEATTRIB + #if HAVE_FILEATTRIB_NSEC if (IsTimeSpecNull(&fa->mtime)) { @@ -850,7 +850,7 @@ enumError CloseFile TRACE("UNLINK %s\n",f->fname); unlink(f->fname); } - #if USE_NEW_FILEATTRIB + #if HAVE_FILEATTRIB_NSEC else if ( set_time == 1 && !IsTimeSpecNull(&f->fatt.mtime) ) utimensat(AT_FDCWD,f->fname,f->fatt.times,0); #else @@ -860,6 +860,7 @@ enumError CloseFile ubuf.actime = f->fatt.atime ? f->fatt.atime : f->fatt.mtime; ubuf.modtime = f->fatt.mtime; + utime(f->fname,&ubuf); } #endif else if ( set_time > 1 || f->fmode & FM_TOUCH ) diff --git a/project/dclib/dclib-file.h b/project/dclib/dclib-file.h index d2be55c..1060cd1 100644 --- a/project/dclib/dclib-file.h +++ b/project/dclib/dclib-file.h @@ -127,15 +127,22 @@ ccp GetFileOpenMode /////////////// struct FileAttrib_t /////////////// /////////////////////////////////////////////////////////////////////////////// -#ifndef USE_NEW_FILEATTRIB - #define USE_NEW_FILEATTRIB 1 +#ifndef HAVE_FILEATTRIB_NSEC + #ifdef st_mtime + #define HAVE_FILEATTRIB_NSEC 1 + #else + #define HAVE_FILEATTRIB_NSEC 0 + #endif #endif #undef FILEATTRIB_SEC -#if USE_NEW_FILEATTRIB +#undef FILEATTRIB_NSEC +#if HAVE_FILEATTRIB_NSEC #define FILEATTRIB_SEC(t) ((t).tv_sec) + #define FILEATTRIB_NSEC(t) ((t).tv_nsec) #else #define FILEATTRIB_SEC(t) (t) + #define FILEATTRIB_NSEC(t) 0 #endif /////////////////////////////////////////////////////////////////////////////// @@ -143,7 +150,7 @@ ccp GetFileOpenMode typedef struct FileAttrib_t { - #if USE_NEW_FILEATTRIB + #if HAVE_FILEATTRIB_NSEC union { |
