Hi, Stefan Beller wrote: > --- a/git.c > +++ b/git.c > @@ -309,9 +309,18 @@ static int run_builtin(struct cmd_struct *p, int argc, const char **argv) > return 0; > } > > +static int compare_internal_command(const void *a, const void *b) { > + /* The first parameter is of type char* describing the name, > + the second is a struct cmd_struct */ Style: /* * Multi-line comments in git look like this, with an initial * "/*" line, a leading "*" on each line with text, and a line * with '*' '/' at the end. */ [...] > @@ -447,12 +456,12 @@ static void handle_internal_command(int argc, const char **argv) > argv[0] = cmd = "help"; > } > > - for (i = 0; i < ARRAY_SIZE(commands); i++) { > - struct cmd_struct *p = commands+i; > - if (strcmp(p->cmd, cmd)) > - continue; > + struct cmd_struct *p = (struct cmd_struct *)bsearch(cmd, commands, > + ARRAY_SIZE(commands), sizeof(struct cmd_struct), > + compare_internal_command); No need to cast --- this is C. Fun. Does this result in a measurable speedup, or is it just for more pleasant reading? Thanks and hope that helps, Jonathan -- 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