diff -urN uC-libc-0.9.1.orig/misc/bsearch.c uC-libc-0.9.1/misc/bsearch.c --- uC-libc-0.9.1.orig/misc/bsearch.c Mon Dec 11 12:57:04 1995 +++ uC-libc-0.9.1/misc/bsearch.c Wed Mar 7 15:23:05 2001 @@ -10,37 +10,33 @@ */ #include -static int _bsearch; /* index of element found, or where to - * insert */ +static int _bsearch; /* index of element found, or where to -char * -bsearch(key, base, num, size, cmp) -register char *key; /* item to search for */ -register char *base; /* base address */ -int num; /* number of elements */ -register int size; /* element size in bytes */ -register int (*cmp) (); /* comparison function */ + * insert */ + +char *bsearch(key, base, num, size, cmp) +register char *key; /* item to search for */ +register char *base; /* base address */ +int num; /* number of elements */ +register int size; /* element size in bytes */ +register int (*cmp) (); /* comparison function */ { - register int a, b, c, dir; + register int a, b, c, dir; - a = 0; - b = num - 1; - while (a <= b) - { - c = (a + b) >> 1; /* == ((a + b) / 2) */ - if (dir = (*cmp) ((base + (c * size)), key)) - { - if (dir > 0) - b = c - 1; - else /* (dir < 0) */ - a = c + 1; - } - else - { - _bsearch = c; - return (base + (c * size)); - } - } - _bsearch = b; - return (NULL); + a = 0; + b = num - 1; + while (a <= b) { + c = (a + b) >> 1; /* == ((a + b) / 2) */ + if ((dir = (*cmp) (key, (base + (c * size))))) { + if (dir < 0) + b = c - 1; + else /* (dir > 0) */ + a = c + 1; + } else { + _bsearch = c; + return (base + (c * size)); + } + } + _bsearch = b; + return (NULL); }