diff --git a/XD.c b/XD.c index 695b854..82925e9 100644 --- a/XD.c +++ b/XD.c @@ -165,11 +165,12 @@ has_untracked(git_repository *repo) git_status_options opts = GIT_STATUS_OPTIONS_INIT; git_status_list *list = NULL; repohash *storedhash; + uint64_t newhash = generate_hash(repo); int r = 0; #ifdef GITHASH if ((storedhash = read_hash(repo)) - && storedhash->hash == generate_hash(repo)) { + && storedhash->hash == newhash) { r = storedhash->changes; free(storedhash); return r; @@ -192,7 +193,7 @@ has_untracked(git_repository *repo) /* if any changes are found return 1 */ r = git_status_list_entrycount(list) > 0; #ifdef GITHASH - write_hash(repo, (repohash){ .hash = generate_hash(repo), .changes = r }); + write_hash(repo, (repohash){ .hash = newhash, .changes = r }); #endif git_status_list_free(list);