From 574053da5298b5fcc0e9abb3c2cf50f7dccd6a7d Mon Sep 17 00:00:00 2001 From: Kevin Easton Date: Fri, 3 Nov 2017 01:14:30 +1100 Subject: [PATCH] Split out set_var_value_dll() from set_var_value() Also remove external declaration of set_var_value() from vars.h, since it is only used in vars.c. --- include/vars.h | 1 - source/vars.c | 68 ++++++++++++++++++++++++-------------------------- 2 files changed, 33 insertions(+), 36 deletions(-) diff --git a/include/vars.h b/include/vars.h index fe3c152..cc0ac31 100644 --- a/include/vars.h +++ b/include/vars.h @@ -380,7 +380,6 @@ NUMBER_OF_VARIABLES void set_highlight_char (Window *, char *, int); int charset_size (void); void save_variables (FILE *, int); - void set_var_value (int, char *, IrcVariableDll *); void save_set (FILE *); extern char *var_settings[]; diff --git a/source/vars.c b/source/vars.c index 0012a89..edf69ba 100644 --- a/source/vars.c +++ b/source/vars.c @@ -71,6 +71,7 @@ extern int use_nat_address; int loading_global = 0; +static void set_var_value(int var_index, char *value); enum VAR_TYPES find_variable (char *, int *); static void exec_warning (Window *, char *, int); @@ -706,7 +707,7 @@ void init_variables() set_beep_on_msg(current_window, DEFAULT_BEEP_ON_MSG, 0); - set_var_value(SWATCH_VAR, DEFAULT_SWATCH, NULL); + set_var_value(SWATCH_VAR, DEFAULT_SWATCH); set_string_var(CLIENTINFO_VAR, IRCII_COMMENT); set_string_var(FAKE_SPLIT_PATS_VAR, "*fuck* *shit* *suck* *dick* *penis* *cunt* *haha* *fake* *split* *hehe* *bogus* *yawn* *leet* *blow* *screw* *dumb* *fbi* *l33t* *gov"); set_string_var(CHANMODE_VAR, DEFAULT_CHANMODE); @@ -948,6 +949,24 @@ static void set_ircvariable(IrcVariable *var, char *value) } } +static void set_var_value_dll(IrcVariableDll *dll, char *value) +{ + IrcVariable var; + + var.type = dll->type; + var.string = dll->string; + var.integer = dll->integer; + var.int_flags = dll->int_flags; + var.flags = dll->flags; + var.name = dll->name; + var.func = dll->func; + + set_ircvariable(&var, value); + + dll->integer = var.integer; + dll->string = var.string; +} + /* * set_var_value() * @@ -956,35 +975,9 @@ static void set_ircvariable(IrcVariable *var, char *value) * It displays the results of the set and executes the function * defined in the var structure. */ -void set_var_value(int var_index, char *value, IrcVariableDll *dll) +static void set_var_value(int var_index, char *value) { - IrcVariable *var; -#ifdef WANT_DLL - if (dll) - { - var = (IrcVariable *) new_malloc(sizeof(IrcVariable)); - var->type = dll->type; - var->string = dll->string; - var->integer = dll->integer; - var->int_flags = dll->int_flags; - var->flags = dll->flags; - var->name = dll->name; - var->func = dll->func; - } - else -#endif - var = &irc_variable[var_index]; - - set_ircvariable(var, value); - -#ifdef WANT_DLL - if (dll) - { - dll->integer = var->integer; - dll->string = var->string; - new_free(&var); - } -#endif + set_ircvariable(&irc_variable[var_index], value); } extern AliasStack1 *set_stack; @@ -1165,7 +1158,12 @@ enum VAR_TYPES var_index = 0; if (hook) { if (cnt < 0) - set_var_value(var_index, args, dll); + { + if (dll) + set_var_value_dll(dll, args); + else + set_var_value(var_index, args); + } else if (cnt == 0) { if (!dll) @@ -1174,7 +1172,7 @@ enum VAR_TYPES var_index = 0; say("No such variable \"%s\"", var); } else - set_var_value(-1, args, dll); + set_var_value_dll(dll, args); } else { @@ -1187,7 +1185,7 @@ enum VAR_TYPES var_index = 0; for (tmp = dll; tmp; tmp = tmp->next) { if (!my_strnicmp(tmp->name, var, strlen(var))) - set_var_value(-1, empty_string, tmp); + set_var_value_dll(tmp, empty_string); else break; } @@ -1195,7 +1193,7 @@ enum VAR_TYPES var_index = 0; else { for (cnt += var_index; var_index < cnt; var_index++) - set_var_value(var_index, empty_string, dll); + set_var_value(var_index, empty_string); } } } @@ -1205,10 +1203,10 @@ enum VAR_TYPES var_index = 0; { int var_index; for (var_index = 0; var_index < NUMBER_OF_VARIABLES; var_index++) - set_var_value(var_index, empty_string, NULL); + set_var_value(var_index, empty_string); #ifdef WANT_DLL for (dll = dll_variable; dll; dll = dll->next) - set_var_value(-1, empty_string, dll); + set_var_value_dll(dll, empty_string); #endif } }