e = LONGINT_OVERFLOW;
}
else
- {
- /* Need to re-check that we meet the minimum
- requirement for memory usage with the new,
- potentially larger, nmerge. */
- sort_size = MAX (sort_size, MIN_SORT_SIZE);
-
- return;
- }
+ return;
}
}
files = −
}
+ /* Need to re-check that we meet the minimum requirement for memory
+ usage with the final value for NMERGE. */
+ if (0 < sort_size)
+ sort_size = MAX (sort_size, MIN_SORT_SIZE);
+
if (checkonly)
{
if (nfiles > 1)
# three empty files and one that says 'foo'
my @inputs = (+(map{{IN=> {"empty$_"=> ''}}}1..3), {IN=> {foo=> "foo\n"}});
+my $big_input = "aaa\n" x 1024;
+
# don't need to check for existence, since we're running in a temp dir
my $badtmp = 'does/not/exist';
['nmerge-no', "-m --batch-size=2 -T$badtmp", @inputs,
{ERR_SUBST=>"s|: $badtmp/sort.+||"},
{ERR=>"$prog: cannot create temporary file\n"}, {EXIT=>2}],
+
+ # This used to fail because setting batch-size without also setting
+ # buffer size would cause the buffer size to be set to the minimum.
+ ['batch-size', "--batch-size=16 -T$badtmp", {IN=> {big=> $big_input}},
+ {OUT=>$big_input}],
);
my $save_temps = $ENV{DEBUG};