This makes it easier for a follow up patch. Signed-off-by: Stefan Beller <sbeller@xxxxxxxxxx> --- submodule.c | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/submodule.c b/submodule.c index 2c667ac95a..e52cb8a958 100644 --- a/submodule.c +++ b/submodule.c @@ -1075,16 +1075,15 @@ unsigned is_submodule_modified(const char *path, int ignore_untracked) len = strbuf_read(&buf, cp.out, 1024); line = buf.buf; while (len > 2) { - if ((line[0] == '?') && (line[1] == '?')) { + if ((line[0] == '?') && (line[1] == '?')) dirty_submodule |= DIRTY_SUBMODULE_UNTRACKED; - if (dirty_submodule & DIRTY_SUBMODULE_MODIFIED) - break; - } else { + else dirty_submodule |= DIRTY_SUBMODULE_MODIFIED; - if (ignore_untracked || - (dirty_submodule & DIRTY_SUBMODULE_UNTRACKED)) - break; - } + + if ((dirty_submodule & DIRTY_SUBMODULE_MODIFIED) && + ((dirty_submodule & DIRTY_SUBMODULE_UNTRACKED) || ignore_untracked)) + break; + next_line = strchr(line, '\n'); if (!next_line) break; -- 2.12.1.437.g2b7623d507