From 39ed71ec3a2900c167f07685a56baad15e57eeea Mon Sep 17 00:00:00 2001 From: lixianjing Date: Tue, 4 Mar 2025 08:40:48 +0800 Subject: [PATCH] improve edit_ex --- docs/changes.md | 3 +++ .../edit_ex_suggest_words_item_formats_parse.inc | 10 +++++----- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/docs/changes.md b/docs/changes.md index f43b693e9..58f97464c 100644 --- a/docs/changes.md +++ b/docs/changes.md @@ -1,5 +1,8 @@ # 最新动态 +2025/03/04 + * 完善 edit_ex(感谢兆坤提供补丁) + 2025/02/28 * 完善 sync state to children(感谢兆坤提供补丁) * 完善 edit_ex(感谢兆坤提供补丁) diff --git a/src/ext_widgets/edit_ex/edit_ex_suggest_words_item_formats_parse.inc b/src/ext_widgets/edit_ex/edit_ex_suggest_words_item_formats_parse.inc index e996c93b6..aa1d14362 100644 --- a/src/ext_widgets/edit_ex/edit_ex_suggest_words_item_formats_parse.inc +++ b/src/ext_widgets/edit_ex/edit_ex_suggest_words_item_formats_parse.inc @@ -158,11 +158,12 @@ static ret_t edit_ex_suggest_words_widget_props_format_parse(edit_ex_t* edit_ex, str_init(&value, 0); for (prop_format = tokenizer_next(&t); prop_format != NULL; prop_format = tokenizer_next(&t)) { - tokenizer_t t_sub; - tokenizer_init(&t_sub, prop_format, UINT32_MAX, "="); - str_set(&name, tokenizer_next(&t_sub)); + const char* iter_eq = strchr(prop_format, '='); + return_value_if_fail(iter_eq != NULL, RET_BAD_PARAMS); + + str_set_with_len(&name, prop_format, iter_eq - prop_format); str_trim(&name, " \r\n"); - str_set(&value, tokenizer_next(&t_sub)); + str_set(&value, iter_eq + 1); str_trim(&value, " \r\n"); if (name.size > 0 && value.size > 0) { if (value.str[0] == '$') { @@ -171,7 +172,6 @@ static ret_t edit_ex_suggest_words_widget_props_format_parse(edit_ex_t* edit_ex, } widget_set_prop_str(widget, name.str, value.str); } - tokenizer_deinit(&t_sub); } str_reset(&value);