2008/8/25 Johannes Schindelin <Johannes.Schindelin@xxxxxx>: > > It is not a good practice to prefer performance over readability in > something as performance uncritical as finding the trailing slash > of argv[0]. > > So avoid head-scratching by making the loop user-readable, and not > hyper-performance-optimized. > > Signed-off-by: Johannes Schindelin <johannes.schindelin@xxxxxx> > --- > > git.c | 5 ++--- > 1 files changed, 2 insertions(+), 3 deletions(-) > > diff --git a/git.c b/git.c > index a647741..2fd74c4 100644 > --- a/git.c > +++ b/git.c > @@ -427,9 +427,8 @@ int main(int argc, const char **argv) > * name, and the dirname as the default exec_path > * if we don't have anything better. > */ > - do > - --slash; > - while (cmd <= slash && !is_dir_sep(*slash)); > + while (cmd <= slash && !is_dir_sep(*slash)) > + slash--; > if (slash < cmd) { > cmd = lookup_program_in_path(cmd); > for (slash = (char *)cmd + strlen(cmd) - 1; > -- > 1.6.0.211.ga840e.dirty Isn't it more likely that this form was chosen to indicate that the loop body was expected to execute at least once, rather than zero or more times? Mike -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html