From 7174ca99be7f0113cb17bf9cb13eba50e4539fc0 Mon Sep 17 00:00:00 2001 From: Haru Date: Mon, 22 Aug 2016 02:47:18 +0200 Subject: Corrected an issue that caused the setting char_configuration/permission/display_new to be ignored Fixes #1407 Signed-off-by: Haru --- src/char/char.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/char/char.c b/src/char/char.c index 126ddc149..952c3d781 100644 --- a/src/char/char.c +++ b/src/char/char.c @@ -5982,7 +5982,12 @@ bool char_config_read_permission(const char *filename, const struct config_t *co } libconfig->setting_lookup_bool_real(setting, "enable_char_creation", &enable_char_creation); - libconfig->setting_lookup_int16(setting, "display_new", &chr->new_display); + if (libconfig->setting_lookup_int16(setting, "display_new", &chr->new_display) != CONFIG_TRUE) { + // While normally true/false makes sense, we may accept any int16 here (it's passed as is to the client) + int i32 = 0; + if (libconfig->setting_lookup_bool(setting, "display_new", &i32) == CONFIG_TRUE) + chr->new_display = i32 == 0 ? 0 : 1; + } libconfig->setting_lookup_int(setting, "max_connect_user", &max_connect_user); libconfig->setting_lookup_int(setting, "gm_allow_group", &gm_allow_group); libconfig->setting_lookup_int(setting, "maintenance_min_group_id", &char_maintenance_min_group_id); -- cgit v1.2.3-60-g2f50