diff options
author | Greg McGary <greg@mcgary.org> | 1999-04-06 07:44:19 +0000 |
---|---|---|
committer | Greg McGary <greg@mcgary.org> | 1999-04-06 07:44:19 +0000 |
commit | 06fa9166e54cea74bebaf0135f3eacfae4dab0c7 (patch) | |
tree | 6ec31699f499dfbc86d4bf974254b9f4e964e5a1 /src/mkid.c | |
parent | 626a5396f0341a9aee84ee25700a591c5ab39529 (diff) | |
download | idutils-06fa9166e54cea74bebaf0135f3eacfae4dab0c7.tar.gz idutils-06fa9166e54cea74bebaf0135f3eacfae4dab0c7.tar.bz2 idutils-06fa9166e54cea74bebaf0135f3eacfae4dab0c7.zip |
* 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.
Diffstat (limited to 'src/mkid.c')
-rw-r--r-- | src/mkid.c | 9 |
1 files changed, 7 insertions, 2 deletions
@@ -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); } |