summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/mkid.c9
-rw-r--r--src/xtokid.c6
2 files changed, 13 insertions, 2 deletions
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);
}
diff --git a/src/xtokid.c b/src/xtokid.c
index 239a6f2..327a4af 100644
--- a/src/xtokid.c
+++ b/src/xtokid.c
@@ -182,8 +182,14 @@ scan_files (struct idhead *idhp)
struct member_file **end = &members_0[idhp->idh_member_file_table.ht_fill];
struct member_file **members;
+ 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 (members = members_0; members < end; members++)
scan_member_file (*members);
+
+ free (scanner_buffer);
free (members_0);
}