Alex Riesen <raa.lkml@xxxxxxxxx> wrote: > > For just these 5 values it is likely more effective to just use > a conditional statement (less stack requested, less likely > some stupid compiler tries to optimize it wrongly). > And just as readable. > > diff --git a/dir.c b/dir.c > index 92452eb..1cf5985 100644 > --- a/dir.c > +++ b/dir.c > @@ -680,17 +680,12 @@ static int cmp_name(const void *p1, const void *p2) > */ > static int simple_length(const char *match) > { > - const char special[256] = { > - [0] = 1, ['?'] = 1, > - ['\\'] = 1, ['*'] = 1, > - ['['] = 1 > - }; > int len = -1; > > for (;;) { > unsigned char c = *match++; > len++; > - if (special[c]) > + if (!c || '?' == c || '\\' == c || '*' == c || '[' == c) I am reminded of a year old thread with my patch to this: http://kerneltrap.org/mailarchive/git/2007/4/15/243541 The patch never applied. I wonder why. Was it just Dscho's comment? -- Shawn. -- 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