X-Git-Url: http://git.linux-vserver.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=lib_internal%2Funify.h;h=cf02a949afcb60fa9f4f8b589020337e5ff37bc7;hb=4d83b16873c3833729374cf45163f0d5bc00aa76;hp=60691eb0cd596d0d2b054f1a04be26f06abc6ada;hpb=9c78378bebc1a9f3d400f422df8ede9efea57dea;p=util-vserver.git diff --git a/lib_internal/unify.h b/lib_internal/unify.h index 60691eb..cf02a94 100644 --- a/lib_internal/unify.h +++ b/lib_internal/unify.h @@ -46,14 +46,23 @@ Unify_isIUnlinkable(char const *filename) NONNULL((1)); ((bool)((LHS)->st_dev ==(RHS)->st_dev && \ (LHS)->st_ino ==(RHS)->st_ino)) -#define Unify_isUnifyable(LHS, RHS) \ +#define _Unify_isUnifyable(LHS, RHS) \ ((bool)((LHS)->st_dev ==(RHS)->st_dev && \ (LHS)->st_ino !=(RHS)->st_ino && \ (LHS)->st_mode ==(RHS)->st_mode && \ (LHS)->st_uid ==(RHS)->st_uid && \ (LHS)->st_gid ==(RHS)->st_gid && \ - (LHS)->st_size ==(RHS)->st_size && \ - (LHS)->st_mtime==(RHS)->st_mtime)) + (LHS)->st_size ==(RHS)->st_size)) +#ifdef UTIL_VSERVER_UNIFY_MTIME_OPTIONAL +# define Unify_isUnifyable(LHS, RHS) \ + ((bool)(_Unify_isUnifyable(LHS, RHS) && \ + (global_args->ignore_mtime || \ + (LHS)->st_mtime==(RHS)->st_mtime))) +#else +# define Unify_isUnifyable(LHS, RHS) \ + ((bool)(_Unify_isUnifyable(LHS, RHS) && \ + (LHS)->st_mtime==(RHS)->st_mtime)) +#endif #endif // H_UTIL_VSERVER_LIB_INTERNAL_UNIFY_H