git: e48156828f07 - main - switch to 64 bit integers for counting bigrams

From: Wolfram Schneider <wosch_at_FreeBSD.org>
Date: Wed, 26 Jan 2022 16:14:02 UTC
The branch main has been updated by wosch:

URL: https://cgit.FreeBSD.org/src/commit/?id=e48156828f07fa172adb05776356d2b043544a05

commit e48156828f07fa172adb05776356d2b043544a05
Author:     Wolfram Schneider <wosch@FreeBSD.org>
AuthorDate: 2022-01-26 16:11:51 +0000
Commit:     Wolfram Schneider <wosch@FreeBSD.org>
CommitDate: 2022-01-26 16:11:51 +0000

    switch to 64 bit integers for counting bigrams
    
    This fixes an integer overflow for very large partitions around 35 billion
    filenames (>2PB). However, in an artificially worst case it may occurs
    by only 17 mio filenames on a partition.
---
 usr.bin/locate/bigram/locate.bigram.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/usr.bin/locate/bigram/locate.bigram.c b/usr.bin/locate/bigram/locate.bigram.c
index 0868a5f89070..d15f8ce170e8 100644
--- a/usr.bin/locate/bigram/locate.bigram.c
+++ b/usr.bin/locate/bigram/locate.bigram.c
@@ -1,7 +1,7 @@
 /*
  * SPDX-License-Identifier: BSD-3-Clause
  *
- * Copyright (c) 1995 Wolfram Schneider <wosch@FreeBSD.org>. Berlin.
+ * Copyright (c) 1995-2022 Wolfram Schneider <wosch@FreeBSD.org>
  * Copyright (c) 1989, 1993
  *	The Regents of the University of California.  All rights reserved.
  *
@@ -64,7 +64,7 @@ static char sccsid[] = "@(#)locate.bigram.c	8.1 (Berkeley) 6/6/93";
 
 u_char buf1[MAXPATHLEN] = " ";
 u_char buf2[MAXPATHLEN];
-u_int bigram[UCHAR_MAX + 1][UCHAR_MAX + 1];
+unsigned long bigram[UCHAR_MAX + 1][UCHAR_MAX + 1];
 
 int
 main(void)
@@ -109,7 +109,7 @@ main(void)
 	for (i = ASCII_MIN; i <= ASCII_MAX; i++)
 		for (j = ASCII_MIN; j <= ASCII_MAX; j++)
 			if (bigram[i][j] != 0)
-				(void)printf("%4u %c%c\n", bigram[i][j], i, j);
+				printf("%lu %c%c\n", bigram[i][j], i, j);
 
 	exit(0);
 }