From 06fa9166e54cea74bebaf0135f3eacfae4dab0c7 Mon Sep 17 00:00:00 2001 From: Greg McGary Date: Tue, 6 Apr 1999 07:44:19 +0000 Subject: * libidu/idfile.h (largest_member_file): Add variable decl. (MAX_LARGEST_MEMBER_FILE): Add constant. * libidu/scanners.h (scanner_buffer): Add variable decl. * libidu/scanners.c (scanner_buffer): Rename from id_0. * libidu/walker.c (largest_member_file): Add veriable defn. (walk_flink): Maintain largest_member_file. Call print_member_file. (maybe_get_member_file): Don't call print_member_file. (classify_link): Return 0 if file size is zero. * src/mkid.c (scan_files): Report size of largest file. Cap scanner_buffer size at MAX_LARGEST_MEMBER_FILE. Allocate scanner_buffer. * src/xtokid.c (scan_files): Cap scanner_buffer size at MAX_LARGEST_MEMBER_FILE. Allocate scanner_buffer. --- src/mkid.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'src/mkid.c') diff --git a/src/mkid.c b/src/mkid.c index 6002d67..fe8466e 100644 --- a/src/mkid.c +++ b/src/mkid.c @@ -383,13 +383,17 @@ scan_files (struct idhead *idhp) hash_init (&token_table, n, token_hash_1, token_hash_2, token_hash_cmp); if (verbose_flag) - printf ("member files=%ld, token table slots=%ld\n", + printf ("files=%ld, largest=%lu, slots=%ld\n", idhp->idh_member_file_table.ht_fill, - token_table.ht_size); + largest_member_file, token_table.ht_size); init_hits_signature (0); init_summary (); obstack_init (&tokens_obstack); + if (largest_member_file > MAX_LARGEST_MEMBER_FILE) + largest_member_file = MAX_LARGEST_MEMBER_FILE; + scanner_buffer = MALLOC (unsigned char, largest_member_file + 1); + for (;;) { struct member_file *member = *members++; @@ -401,6 +405,7 @@ scan_files (struct idhead *idhp) bump_current_hits_signature (); } + free (scanner_buffer); free (members_0); } -- cgit v1.2.3