Add VF_NO_SAVE flag to mark variables that shouldn't be saved
This replaces an explicit test for the variable names "DISPLAY" and "CLIENT_INFORMATION".
This commit is contained in:
@@ -404,7 +404,8 @@ extern int loading_global;
|
|||||||
#define STR_TYPE_VAR 3
|
#define STR_TYPE_VAR 3
|
||||||
#define SET_TYPE_VAR 4
|
#define SET_TYPE_VAR 4
|
||||||
|
|
||||||
#define VF_EXPAND_PATH 0x0002
|
#define VF_NO_SAVE 0x0001U
|
||||||
|
#define VF_EXPAND_PATH 0x0002U
|
||||||
|
|
||||||
#define VIF_CHANGED 0x01
|
#define VIF_CHANGED 0x01
|
||||||
#define VIF_GLOBAL 0x02
|
#define VIF_GLOBAL 0x02
|
||||||
|
|||||||
@@ -160,7 +160,7 @@ static IrcVariable irc_variable[] =
|
|||||||
{ "CHANMODE",0, STR_TYPE_VAR, 0, NULL, NULL, 0, VIF_BITCHX },
|
{ "CHANMODE",0, STR_TYPE_VAR, 0, NULL, NULL, 0, VIF_BITCHX },
|
||||||
{ "CHANNEL_NAME_WIDTH",0, INT_TYPE_VAR, DEFAULT_CHANNEL_NAME_WIDTH, NULL, BX_update_all_status, 0, 0 },
|
{ "CHANNEL_NAME_WIDTH",0, INT_TYPE_VAR, DEFAULT_CHANNEL_NAME_WIDTH, NULL, BX_update_all_status, 0, 0 },
|
||||||
{ "CHECK_BEEP_USERS",0, BOOL_TYPE_VAR, 0, NULL, NULL, 0, 0 },
|
{ "CHECK_BEEP_USERS",0, BOOL_TYPE_VAR, 0, NULL, NULL, 0, 0 },
|
||||||
{ "CLIENT_INFORMATION",0, STR_TYPE_VAR, 0, NULL, NULL, 0, 0 },
|
{ "CLIENT_INFORMATION",0, STR_TYPE_VAR, 0, NULL, NULL, 0, VF_NO_SAVE },
|
||||||
{ "CLOAK",0, INT_TYPE_VAR, DEFAULT_CLOAK, NULL, BX_update_all_status, 0, VIF_BITCHX },
|
{ "CLOAK",0, INT_TYPE_VAR, DEFAULT_CLOAK, NULL, BX_update_all_status, 0, VIF_BITCHX },
|
||||||
{ "CLOCK",0, BOOL_TYPE_VAR, DEFAULT_CLOCK, NULL, BX_update_all_status, 0, 0 },
|
{ "CLOCK",0, BOOL_TYPE_VAR, DEFAULT_CLOCK, NULL, BX_update_all_status, 0, 0 },
|
||||||
{ "CLOCK_24HOUR",0, BOOL_TYPE_VAR, DEFAULT_CLOCK_24HOUR, NULL, reset_clock, 0, VIF_BITCHX },
|
{ "CLOCK_24HOUR",0, BOOL_TYPE_VAR, DEFAULT_CLOCK_24HOUR, NULL, reset_clock, 0, VIF_BITCHX },
|
||||||
@@ -213,7 +213,7 @@ static IrcVariable irc_variable[] =
|
|||||||
{ "DEOP_ON_KICKFLOOD",0, INT_TYPE_VAR, DEFAULT_DEOP_ON_KICKFLOOD, NULL, NULL, 0, VIF_BITCHX },
|
{ "DEOP_ON_KICKFLOOD",0, INT_TYPE_VAR, DEFAULT_DEOP_ON_KICKFLOOD, NULL, NULL, 0, VIF_BITCHX },
|
||||||
{ "DETACH_ON_HUP",0, BOOL_TYPE_VAR, DEFAULT_DETACH_ON_HUP, NULL, set_detach_on_hup, 0, 0 },
|
{ "DETACH_ON_HUP",0, BOOL_TYPE_VAR, DEFAULT_DETACH_ON_HUP, NULL, set_detach_on_hup, 0, 0 },
|
||||||
{ "DISPATCH_UNKNOWN_COMMANDS",0,BOOL_TYPE_VAR, DEFAULT_DISPATCH_UNKNOWN_COMMANDS, NULL, NULL, 0, 0 },
|
{ "DISPATCH_UNKNOWN_COMMANDS",0,BOOL_TYPE_VAR, DEFAULT_DISPATCH_UNKNOWN_COMMANDS, NULL, NULL, 0, 0 },
|
||||||
{ "DISPLAY",0, BOOL_TYPE_VAR, DEFAULT_DISPLAY, NULL, NULL, 0, 0 },
|
{ "DISPLAY",0, BOOL_TYPE_VAR, DEFAULT_DISPLAY, NULL, NULL, 0, VF_NO_SAVE },
|
||||||
{ "DISPLAY_ANSI",0, BOOL_TYPE_VAR, DEFAULT_DISPLAY_ANSI, NULL, toggle_reverse_status, 0, 0 },
|
{ "DISPLAY_ANSI",0, BOOL_TYPE_VAR, DEFAULT_DISPLAY_ANSI, NULL, toggle_reverse_status, 0, 0 },
|
||||||
{ "DISPLAY_PC_CHARACTERS",0, INT_TYPE_VAR, DEFAULT_DISPLAY_PC_CHARACTERS, NULL, reinit_screen, 0, VIF_BITCHX },
|
{ "DISPLAY_PC_CHARACTERS",0, INT_TYPE_VAR, DEFAULT_DISPLAY_PC_CHARACTERS, NULL, reinit_screen, 0, VIF_BITCHX },
|
||||||
{ "DOUBLE_STATUS_LINE",0, INT_TYPE_VAR, DEFAULT_DOUBLE_STATUS_LINE, NULL, NULL, 0, VIF_BITCHX },
|
{ "DOUBLE_STATUS_LINE",0, INT_TYPE_VAR, DEFAULT_DOUBLE_STATUS_LINE, NULL, NULL, 0, VIF_BITCHX },
|
||||||
@@ -1224,10 +1224,10 @@ void save_variables(FILE *fp, int do_all)
|
|||||||
{
|
{
|
||||||
if (!(var->int_flags & VIF_CHANGED))
|
if (!(var->int_flags & VIF_CHANGED))
|
||||||
continue;
|
continue;
|
||||||
|
if (var->flags & VF_NO_SAVE)
|
||||||
|
continue;
|
||||||
if ((do_all == 1) || !(var->int_flags & VIF_GLOBAL))
|
if ((do_all == 1) || !(var->int_flags & VIF_GLOBAL))
|
||||||
{
|
{
|
||||||
if (strcmp(var->name, "DISPLAY") == 0 || strcmp(var->name, "CLIENT_INFORMATION") == 0)
|
|
||||||
continue;
|
|
||||||
fprintf(fp, "SET ");
|
fprintf(fp, "SET ");
|
||||||
switch (var->type)
|
switch (var->type)
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user