Fix a recently-introduced compile warning
cover Fix a recently-introduced compile warning
With the relatively frequent breakages of pu recently, I had trouble staying on top of the compile errors/test failures, sorry.
This one exists since Sunday, and it is a compile error only with DEVELOPER=1, which is, however, the recommended way to build in Git for Windows' SDK.
Note: it is based on nd/clone-case-smashing-warning.
Johannes Schindelin (1):
mark_colliding_entries(): fix incorrect #if...#endif guard
entry.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)
base-commit: f80218bf4e65ccc06cc9173c0ac5a5520d380f36
Published-As: https://github.com/gitgitgadget/git/releases/tags/pr-18%2Fdscho%2Fclone-case-smashing-warning-v1
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-18/dscho/clone-case-smashing-warning-v1
Pull-Request: https://github.com/gitgitgadget/git/pull/18
Signature · 1 line
gitgitgadget
PATCH 1/1 mark_colliding_entries(): fix incorrect #if...#endif guard
From: Johannes Schindelin <[email protected]>
The way the guard was put, the code was declaring an unused variable on Windows. No need to do that, so let's fix it.
--- entry.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)
entry.c +3 -3
@@ -402,11 +402,9 @@ static int check_path(const char *path, int len, struct stat *st, int skiplen)static void mark_colliding_entries (const struct checkout *state,struct cache_entry *ce,struct stat *st) { +#if !defined(GIT_WINDOWS_NATIVE )/* inode is always zero on Windows */ int i; - ce->ce_flags |=CE_MATCHED ; - -#if !defined(GIT_WINDOWS_NATIVE )/* inode is always zero on Windows */ for (i =0 ; i < state->istate->cache_nr; i++) {struct cache_entry *dup = state->istate->cache[i];
@@ -422,6 +420,8 @@ static void mark_colliding_entries(const struct checkout *state, } }#endif + + ce->ce_flags |=CE_MATCHED ; }/*
Signature · 1 line
gitgitgadget
Re: [PATCH 1/1] mark_colliding_entries(): fix incorrect #if...#endif guard
"Johannes Schindelin via GitGitGadget" <[email protected]>
Quoted 28 lines · writes:
From: Johannes Schindelin <[email protected]>
The way the guard was put, the code was declaring an unused variable on Windows. No need to do that, so let's fix it.
Signed-off-by Johannes Schindelin <[email protected]>--- entry.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)entry.c +1
-3@@ -402,11 +402,9 @@ static int check_path(const char *path, int len, struct stat *st, int skiplen)static void mark_colliding_entries (const struct checkout *state,struct cache_entry *ce,struct stat *st) { +#if !defined(GIT_WINDOWS_NATIVE )/* inode is always zero on Windows */ int i; - ce->ce_flags |=CE_MATCHED ; - -#if !defined(GIT_WINDOWS_NATIVE )/* inode is always zero on Windows */ for (i =0 ; i < state->istate->cache_nr; i++) {struct cache_entry *dup = state->istate->cache[i];
entry.c static void mark_colliding_entries(const struct checkout *state, · line 425
Quoted 6 lines
entry.c +2
-0@@ -422,6 +420,8 @@ static void mark_colliding_entries(const struct checkout *state, } }#endif + + ce->ce_flags |=CE_MATCHED ; }
Even though it looks a bit odd to smudge 'ce' itself after the loop, I think this would not break anything, simply because the loop does treat the 'ce' as special and stops the iteration once it sees it, even before its MATCHED bit is set.
Duy, if you are going to send a new version updated for other reasons, please squash this in. In the meantime, I'll queue it on top of what we have right now.
Thanks, both.