diff --git a/src/array.c b/src/array.c index ea2ae488ed6746a3ad3f0e77e5f65088ed94ba73..def28759ca2b76baf275991c817bf4ea84cc9758 100644 --- a/src/array.c +++ b/src/array.c @@ -20,7 +20,7 @@ #include "main.h" #include "security.h" -RCSID("$Id: array.c,v 1.46 1999/04/12 02:24:10 hubbe Exp $"); +RCSID("$Id: array.c,v 1.47 1999/04/12 05:27:46 hubbe Exp $"); struct array empty_array= { @@ -1767,7 +1767,7 @@ void gc_free_all_unreferenced_arrays(void) else a->item[d++]=a->item[e]; } - a->size=e; + a->size=d; }else{ for(e=0;e<a->size;e++) { diff --git a/src/signal_handler.c b/src/signal_handler.c index 3dfb49df27bdc2de7f6206bf6c16f2ae4f5caabc..f9f8547ec7991de9e25fd960d6b9e3b49d7c7350 100644 --- a/src/signal_handler.c +++ b/src/signal_handler.c @@ -25,7 +25,7 @@ #include "main.h" #include <signal.h> -RCSID("$Id: signal_handler.c,v 1.123 1999/04/12 02:24:17 hubbe Exp $"); +RCSID("$Id: signal_handler.c,v 1.124 1999/04/12 05:27:48 hubbe Exp $"); #ifdef HAVE_PASSWD_H # include <passwd.h> @@ -2572,7 +2572,7 @@ static void f_kill(INT32 args) #ifdef __NT__ #define HAVE_KILL -void f_kill(INT32 args) +static void f_kill(INT32 args) { HANDLE proc=INVALID_HANDLE_VALUE; @@ -2765,10 +2765,9 @@ void f_atexit(INT32 args) atexit_functions=low_allocate_array(0,1); } - f_aggregate(args); - atexit_functions=append_array(atexit_functions,sp-1); + atexit_functions=append_array(atexit_functions,sp-args); atexit_functions->flags |= ARRAY_WEAK_FLAG | ARRAY_WEAK_SHRINK; - pop_stack(); + pop_n_elems(args); } diff --git a/src/signal_handler.h b/src/signal_handler.h index e42f56ec20e3a446bb7deb730e81051dad7c4aaa..6bc75f6fc31d9cc2355d5c0a7a5dd83cf0a3a480 100644 --- a/src/signal_handler.h +++ b/src/signal_handler.h @@ -5,7 +5,7 @@ \*/ /* - * $Id: signal_handler.h,v 1.7 1999/04/12 02:24:19 hubbe Exp $ + * $Id: signal_handler.h,v 1.8 1999/04/12 05:27:49 hubbe Exp $ */ #ifndef SIGNAL_H #define SIGNAL_H @@ -27,10 +27,10 @@ struct perishables; void f_set_priority( INT32 args ); void f_create_process(INT32 args); void f_fork(INT32 args); -void f_kill(INT32 args); void f_atexit(INT32 args); void init_signals(void); void exit_signals(void); /* Prototypes end here */ + #endif