mirror of
https://github.com/irssi/irssi.git
synced 2024-12-04 14:46:39 -05:00
Add a '-autorun' switch to /script reset
This way we reload all the scripts in the autorun folder.
This commit is contained in:
parent
e4f8abc973
commit
b2424f3193
@ -393,7 +393,7 @@ int perl_get_api_version(void)
|
||||
return IRSSI_PERL_API_VERSION;
|
||||
}
|
||||
|
||||
static void perl_scripts_autorun(void)
|
||||
void perl_scripts_autorun(void)
|
||||
{
|
||||
DIR *dirp;
|
||||
struct dirent *dp;
|
||||
|
@ -16,6 +16,8 @@ extern GSList *perl_scripts;
|
||||
void perl_scripts_init(void);
|
||||
/* Destroy all perl scripts and deinitialize perl interpreter */
|
||||
void perl_scripts_deinit(void);
|
||||
/* Load all the scripts in the autorun/ folder */
|
||||
void perl_scripts_autorun(void);
|
||||
|
||||
/* Load a perl script, path must be a full path. */
|
||||
PERL_SCRIPT_REC *perl_script_load_file(const char *path);
|
||||
|
@ -119,8 +119,20 @@ static void cmd_script_unload(const char *data)
|
||||
|
||||
static void cmd_script_reset(const char *data)
|
||||
{
|
||||
void *free_arg;
|
||||
GHashTable *optlist;
|
||||
|
||||
if (!cmd_get_params(data, &free_arg, 0 | PARAM_FLAG_OPTIONS,
|
||||
"script reset", &optlist))
|
||||
return;
|
||||
|
||||
perl_scripts_deinit();
|
||||
perl_scripts_init();
|
||||
|
||||
if (g_hash_table_lookup(optlist, "autorun") != NULL)
|
||||
perl_scripts_autorun();
|
||||
|
||||
cmd_params_free(free_arg);
|
||||
}
|
||||
|
||||
static void cmd_script_list(void)
|
||||
@ -251,6 +263,7 @@ void fe_perl_init(void)
|
||||
command_bind("script list", NULL, (SIGNAL_FUNC) cmd_script_list);
|
||||
command_bind("load", NULL, (SIGNAL_FUNC) cmd_load);
|
||||
command_set_options("script exec", "permanent");
|
||||
command_set_options("script reset", "autorun");
|
||||
|
||||
signal_add("script error", (SIGNAL_FUNC) sig_script_error);
|
||||
signal_add("complete command script load", (SIGNAL_FUNC) sig_complete_load);
|
||||
|
Loading…
Reference in New Issue
Block a user