diff --git a/src/config.c b/src/config.c index 6645438..8eb13c8 100644 --- a/src/config.c +++ b/src/config.c @@ -160,7 +160,7 @@ void config_load(const char *cfg_path) {"asterisk", &config.asterisk, config_handle_char}, {"bg", &config.bg, config_handle_u8}, {"blank_box", &config.blank_box, config_handle_bool}, - {"blank_password", &config.blank_box, config_handle_bool}, + {"blank_password", &config.blank_password, config_handle_bool}, {"console_dev", &config.console_dev, config_handle_str}, {"default_input", &config.default_input, config_handle_u8}, {"fg", &config.fg, config_handle_u8}, diff --git a/src/inputs.c b/src/inputs.c index 08953fd..4984f47 100644 --- a/src/inputs.c +++ b/src/inputs.c @@ -258,3 +258,11 @@ void input_text_backspace(struct text* target) input_text_delete(target); } } + +void input_text_clear(struct text* target) +{ + memset(target->text, 0, target->len + 1); + target->cur = target->text; + target->end = target->text; + target->visible_start = target->text; +} diff --git a/src/inputs.h b/src/inputs.h index c0afcd3..a49dde5 100644 --- a/src/inputs.h +++ b/src/inputs.h @@ -50,5 +50,6 @@ void input_text_left(struct text* target); void input_text_write(struct text* target, char ascii); void input_text_delete(struct text* target); void input_text_backspace(struct text* target); +void input_text_clear(struct text* target); #endif diff --git a/src/main.c b/src/main.c index 16f3216..6ab8ea8 100644 --- a/src/main.c +++ b/src/main.c @@ -255,6 +255,11 @@ int main(int argc, char** argv) buf.info_line = dgn_output_log(); } + if (config.blank_password) + { + input_text_clear(&password); + } + dgn_reset(); } else