On Wed, Mar 16, 2016 at 08:27:29PM +0600, Alexander Kuleshov wrote: > We stripping extension in the list_commands_in_dir() to get > commands without '.exe' suffix. Let's do it only if STRIP_EXTENSION > is defined to not spend time for unnecessary strip_suffix() call in > this case. > > Signed-off-by: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> > --- > help.c | 5 +++-- > 1 file changed, 3 insertions(+), 2 deletions(-) > > diff --git a/help.c b/help.c > index 19328ea..c865991 100644 > --- a/help.c > +++ b/help.c > @@ -153,8 +153,9 @@ static void list_commands_in_dir(struct cmdnames *cmds, > continue; > > entlen = strlen(ent); > - strip_suffix(ent, ".exe", &entlen); > - > +#ifdef STRIP_EXTENSION > + strip_suffix(ent, STRIP_EXTENSION, &entlen); > +#endif This is billed as an optimization in the commit message, but these two pieces of code are not the same. The original always strips ".exe", whether or not STRIP_EXTENSION is defined, and whether or not it is ".exe". In practice it works out because people on Unix systems do not have "git-foo.exe", and nobody sets STRIP_EXTENSION to other things. But I tend to think this is an improvement in robustness. I also wonder if this should be sharing the strip_extension() helper added in your 63ca1c0. -Peff -- 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