diff --git a/src/modal.c b/src/modal.c index e1c8e80..f54c9ac 100644 --- a/src/modal.c +++ b/src/modal.c @@ -33,11 +33,10 @@ walk(char *s) static int compare(char *a, char *b) { - int i = 0, al = walk(a) - a, bl = walk(b) - b; - if(al == bl) - while(a[i] == b[i]) - if(!a[i] || ++i >= al) return 1; - return 0; + char *aa = walk(a), *bb = walk(b); + while(a < aa && b < bb) + if(*a++ != *b++) return 0; + return 1; } static void