add some missing ecl_va_end statements

This commit is contained in:
Marius Gerbershagen 2019-10-20 15:28:43 +02:00 committed by Daniel Kochmański
parent 846cf3f377
commit 68ee6fa228
6 changed files with 24 additions and 9 deletions

View file

@ -293,6 +293,7 @@ ecl_char_equal(cl_object x, cl_object y)
c = ecl_va_arg(cs);
for (j=1; j<i; j++)
if (ecl_char_equal(c, ecl_va_arg(ds))) {
ecl_va_end(ds);
@(return ECL_NIL);
}
}

View file

@ -142,12 +142,15 @@ cl_object
CEerror(cl_object c, const char *err, int narg, ...)
{
ecl_va_list args;
cl_object rest;
ecl_va_start(args, narg, narg, 0);
ecl_enable_interrupts();
rest = cl_grab_rest_args(args);
ecl_va_end(args);
return funcall(4, @'si::universal-error-handler',
c, /* correctable */
ecl_make_constant_base_string(err,-1), /* continue-format-string */
cl_grab_rest_args(args));
rest);
}
/***********************
@ -184,12 +187,15 @@ void
FEcontrol_error(const char *s, int narg, ...)
{
ecl_va_list args;
cl_object rest;
ecl_va_start(args, narg, narg, 0);
rest = cl_grab_rest_args(args);
ecl_va_end(args);
si_signal_simple_error(4,
@'control-error', /* condition name */
ECL_NIL, /* not correctable */
ecl_make_constant_base_string(s,-1), /* format control */
cl_grab_rest_args(args)); /* format args */
rest); /* format args */
_ecl_unexpected_return();
}
@ -201,6 +207,7 @@ FEreader_error(const char *s, cl_object stream, int narg, ...)
ecl_va_list args;
ecl_va_start(args, narg, narg, 0);
args_list = cl_grab_rest_args(args);
ecl_va_end(args);
if (Null(stream)) {
/* Parser error */
si_signal_simple_error(4,
@ -504,6 +511,7 @@ FElibc_error(const char *msg, int narg, ...)
ecl_va_start(args, narg, narg, 0);
rest = cl_grab_rest_args(args);
ecl_va_end(args);
FEerror("~?~%C library explanation: ~A.", 3,
ecl_make_constant_base_string(msg,-1), rest,
@ -530,6 +538,7 @@ FEwin32_error(const char *msg, int narg, ...)
ecl_va_start(args, narg, narg, 0);
rest = cl_grab_rest_args(args);
ecl_va_end(args);
FEerror("~?~%Windows library explanation: ~A.", 3,
ecl_make_constant_base_string(msg,-1), rest,
win_msg_obj);
@ -551,15 +560,15 @@ FEwin32_error(const char *msg, int narg, ...)
@(defun cerror (cformat eformat &rest args)
@ {
ecl_enable_interrupts();
return funcall(4, @'si::universal-error-handler', cformat, eformat,
cl_grab_rest_args(args));
@(return funcall(4, @'si::universal-error-handler', cformat, eformat,
cl_grab_rest_args(args)));
} @)
@(defun si::serror (cformat eformat &rest args)
@ {
ecl_enable_interrupts();
return funcall(4, @'si::stack-error-handler', cformat, eformat,
cl_grab_rest_args(args));
@(return funcall(4, @'si::stack-error-handler', cformat, eformat,
cl_grab_rest_args(args)));
} @)
void

View file

@ -5672,6 +5672,7 @@ file_libc_error(cl_object error_type, cl_object stream,
ecl_va_start(args, narg, narg, 0);
rest = cl_grab_rest_args(args);
ecl_va_end(args);
si_signal_simple_error(4, (cl_object)(cl_symbols + ecl_fixnum(error_type)), Cnil,
ecl_make_constant_base_string("~?~%C library explanation: ~A.",-1),

View file

@ -219,6 +219,7 @@ ecl_number_equalp(cl_object x, cl_object y)
numi = ecl_va_arg(nums);
for (j = 1; j<i; j++)
if (ecl_number_equalp(numi, ecl_va_arg(numb))) {
ecl_va_end(numb);
@(return ECL_NIL);
}
ecl_va_end(numb);

View file

@ -38,12 +38,15 @@ static void
FEpackage_error(const char *message, cl_object package, int narg, ...)
{
ecl_va_list args;
cl_object rest;
ecl_va_start(args, narg, narg, 0);
rest = narg? cl_grab_rest_args(args) : cl_list(1,package);
ecl_va_end(args);
si_signal_simple_error(6,
@'package-error',
ECL_NIL, /* not correctable */
ecl_make_constant_base_string(message,-1), /* format control */
narg? cl_grab_rest_args(args) : cl_list(1,package), /* format args */
rest, /* format args */
@':package', package); /* extra arguments */
}

View file

@ -450,9 +450,9 @@ cl_object
mp_process_preset(cl_narg narg, cl_object process, cl_object function, ...)
{
ecl_va_list args;
ecl_va_start(args, function, narg, 2);
if (narg < 2)
FEwrong_num_arguments(@[mp::process-preset]);
ecl_va_start(args, function, narg, 2);
assert_type_process(process);
process->process.function = function;
process->process.args = cl_grab_rest_args(args);
@ -679,7 +679,6 @@ mp_process_run_function(cl_narg narg, cl_object name, cl_object function, ...)
cl_object process;
cl_object rest;
ecl_va_list args;
ecl_va_start(args, function, narg, 2);
if (narg < 2)
FEwrong_num_arguments(@[mp::process-run-function]);
if (CONSP(name)) {
@ -687,6 +686,7 @@ mp_process_run_function(cl_narg narg, cl_object name, cl_object function, ...)
} else {
process = mp_make_process(2, @':name', name);
}
ecl_va_start(args, function, narg, 2);
rest = cl_grab_rest_args(args);
ecl_va_end(args);
cl_apply(4, @'mp::process-preset', process, function,