On Sat, Oct 29, 2016 at 12:32 AM, Klemens Nanni <k...@posteo.org> wrote: > This reduces the amount of strcmp() calls and comparisons in general to > a minimum. > --- > slock.c | 13 ++++++------- > 1 file changed, 6 insertions(+), 7 deletions(-) > > diff --git a/slock.c b/slock.c > index 283b04e..e9b050a 100644 > --- a/slock.c > +++ b/slock.c > @@ -298,15 +298,14 @@ main(int argc, char *argv[]) { > Display *dpy; > int s, nlocks, nscreens; > > - if (argc > 1 && !strncmp("-", argv[1], 1)) { > - if ((argc == 2 && !strcmp("-v", argv[1])) || > - (argc == 3 && !strcmp("-v", argv[1]) && !strcmp("--", > argv[2]))) { > + if (argv[1] && argv[1][0] == '-') { > + if (argv[1][1] == 'v' && argv[1][2] == '\0' && > + (argc == 2 || (argc == 3 && !strcmp(argv[2], "--")))) { > fputs("slock-"VERSION"\n", stderr); > return 0; > - } else if (!strcmp("--", argv[1])) { > - --argc; > - ++argv; > - } else > + } else if (argv[1][1] == '-' && argv[1][2] == '\0') > + --argc, ++argv; > + else > die("usage: slock [-v] [cmd [arg ...]]\n"); > } > > -- > 2.8.3 > >
This is total bullshit: it is less readable and it makes no sense to optimize this case. Please fix real bugs.