Michael McConville wrote:
I'm late to the party, but we could tidy things up a bit by moving the
function into the c file it's used in and using errx() internally.
> Index: locate/fastfind.c
> ===================================================================
> RCS file: /cvs/src/usr.bin/locate/locate/fastfind.c,v
> retrieving revision 1.12
> diff -u -p -r1.12 fastfind.c
> --- locate/fastfind.c 16 Jan 2015 06:40:09 -0000 1.12
> +++ locate/fastfind.c 19 Sep 2015 18:28:30 -0000
> @@ -65,7 +65,8 @@ statistic (fp, path_fcodes)
> } else
> count += c - OFFSET;
>
> - sane_count(count);
> + if (count < 0 || count >= PATH_MAX)
> + errx(1, "corrupted database");
> for (p = path + count; (c = getc(fp)) > SWITCH; size++)
> if (c < PARITY) {
> if (c == UMLAUT) {
> @@ -212,7 +213,8 @@ fastfind
> count += c - OFFSET;
> }
>
> - sane_count(count);
> + if (count < 0 || count >= PATH_MAX)
> + errx(1, "corrupted database");
> /* overlay old path */
> p = path + count;
> foundchar = p - 1;
> Index: locate/locate.c
> ===================================================================
> RCS file: /cvs/src/usr.bin/locate/locate/locate.c,v
> retrieving revision 1.26
> diff -u -p -r1.26 locate.c
> --- locate/locate.c 16 Jan 2015 06:40:09 -0000 1.26
> +++ locate/locate.c 19 Sep 2015 18:28:30 -0000
> @@ -331,15 +331,6 @@ usage(void)
> exit(1);
> }
>
> -void
> -sane_count(int count)
> -{
> - if (count < 0 || count >= PATH_MAX) {
> - fprintf(stderr, "locate: corrupted database\n");
> - exit(1);
> - }
> -}
> -
> /* load fastfind functions */
>
> /* statistic */
>