diff --git a/src/main.c b/src/main.c index e51e01d9bf1e43073079c7cc0c32d7e83bfc37c6..a3e17682021b4371aceddc2b0624ae799e3c3a4a 100644 --- a/src/main.c +++ b/src/main.c @@ -23,18 +23,7 @@ #include <locale.h> #endif -#if TIME_WITH_SYS_TIME -# include <sys/time.h> -# include <time.h> -#else -# if HAVE_SYS_TIME_H -# include <sys/time.h> -# else -# if HAVE_TIME_H -# include <time.h> -# endif -# endif -#endif +#include "time_stuff.h" #ifdef HAVE_SYS_RESOURCE_H #include <sys/resource.h> @@ -50,11 +39,11 @@ int l_flag=0; static struct callback *post_master_callbacks =0; -struct callback *add_post_master_callback(callback call, +struct callback *add_post_master_callback(callback_func call, void *arg, - callback free_func) + callback_func free_func) { - return add_to_callback_list(&post_master_callbacks, call, arg, free_func); + return add_to_callback(&post_master_callbacks, call, arg, free_func); } @@ -164,7 +153,7 @@ void main(int argc, char **argv, char **env) } #endif - current_time = get_current_time(); + GETTIMEOFDAY(¤t_time); init_modules_efuns(); master(); @@ -214,6 +203,7 @@ void main(int argc, char **argv, char **env) void init_main_efuns() { + init_interpreter(); init_lex(); init_types(); init_builtin_efuns(); @@ -228,7 +218,6 @@ void init_main_programs() void exit_main() { void cleanup_added_efuns(); - void free_all_call_outs(); void cleanup_lpc_types(); void cleanup_program(); @@ -238,9 +227,9 @@ void exit_main() exit_lex(); cleanup_interpret(); cleanup_added_efuns(); - free_all_call_outs(); cleanup_lpc_types(); cleanup_shared_string_table(); cleanup_program(); + exit_interpreter(); } diff --git a/src/main.h b/src/main.h index 8b4e74e1490c50e184e85aa2f564930cff9f483f..4171e9ab6de0db8d7203885b057d04112f1bd3c5 100644 --- a/src/main.h +++ b/src/main.h @@ -6,9 +6,14 @@ #ifndef MAIN_H #define MAIN_H +#include "callback.h" + extern int d_flag, t_flag, a_flag, l_flag, c_flag; /* Prototypes begin here */ +struct callback *add_post_master_callback(callback_func call, + void *arg, + callback_func free_func); void main(int argc, char **argv, char **env); void init_main_efuns(); void init_main_programs();