From 2bb4cda1987afe6911a1c193283213babda328d2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nguy=E1=BB=85n=20Th=C3=A1i=20Ng=E1=BB=8Dc=20Duy?= Date: Sun, 8 Mar 2015 17:12:36 +0700 Subject: [PATCH] read-cache.c: split racy stat test to a separate function MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Nguyễn Thái Ngọc Duy Signed-off-by: Junio C Hamano --- read-cache.c | 26 ++++++++++++++++---------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/read-cache.c b/read-cache.c index 0d96c753b7..b5e9c3f8ac 100644 --- a/read-cache.c +++ b/read-cache.c @@ -272,20 +272,26 @@ static int ce_match_stat_basic(const struct cache_entry *ce, struct stat *st) return changed; } +static int is_racy_stat(const struct index_state *istate, + const struct stat_data *sd) +{ + return (istate->timestamp.sec && +#ifdef USE_NSEC + /* nanosecond timestamped files can also be racy! */ + (istate->timestamp.sec < sd->sd_mtime.sec || + (istate->timestamp.sec == sd->sd_mtime.sec && + istate->timestamp.nsec <= sd->sd_mtime.nsec)) +#else + istate->timestamp.sec <= sd->sd_mtime.sec +#endif + ); +} + static int is_racy_timestamp(const struct index_state *istate, const struct cache_entry *ce) { return (!S_ISGITLINK(ce->ce_mode) && - istate->timestamp.sec && -#ifdef USE_NSEC - /* nanosecond timestamped files can also be racy! */ - (istate->timestamp.sec < ce->ce_stat_data.sd_mtime.sec || - (istate->timestamp.sec == ce->ce_stat_data.sd_mtime.sec && - istate->timestamp.nsec <= ce->ce_stat_data.sd_mtime.nsec)) -#else - istate->timestamp.sec <= ce->ce_stat_data.sd_mtime.sec -#endif - ); + is_racy_stat(istate, &ce->ce_stat_data)); } int ie_match_stat(const struct index_state *istate,