From 65cf7ab1650fec6d33c1638b9dd491d10fe97a98 Mon Sep 17 00:00:00 2001 From: guoheng Date: Wed, 18 Mar 2026 17:38:35 +0800 Subject: [PATCH 1/4] Fix bug to make.Reason is goto --- lib/xy.h | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/xy.h b/lib/xy.h index 2faff3a9..37c17713 100644 --- a/lib/xy.h +++ b/lib/xy.h @@ -473,6 +473,8 @@ static char * _xy_str_to_terminal_style (int style, const char *str) { char *color_fmt_str = NULL; + size_t len; + char *buf; if (!xy.enable_color) { @@ -511,8 +513,8 @@ _xy_str_to_terminal_style (int style, const char *str) new_str: // -2 把中间%s减掉 - size_t len = strlen (color_fmt_str) - 2; - char *buf = malloc (strlen (str) + len + 1); + len = strlen (color_fmt_str) - 2; + buf = malloc (strlen (str) + len + 1); sprintf (buf, color_fmt_str, str); return buf; } From d63cfe9520d59552443f52a125a79eeb741a07e9 Mon Sep 17 00:00:00 2001 From: guoheng Date: Wed, 18 Mar 2026 17:40:49 +0800 Subject: [PATCH 2/4] Fix core dump bug in './chsrc ls ruby' --- src/chsrc-main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/chsrc-main.c b/src/chsrc-main.c index c823d20c..83ec81da 100644 --- a/src/chsrc-main.c +++ b/src/chsrc-main.c @@ -372,7 +372,7 @@ cli_print_target_features (Target_t *target, const char *input_target_name) default: xy_unreached(); } - char *msg = xy_strcat (3, bdblue (" = "), + char *msg = xy_strcat (2, bdblue (" = "), purple (xy_strcat (5, "默认作用域 | chsrc set -scope=default ", input_target_name, " (= ", default_scope_name ,")"))); puts (msg); br(); From d0fe21dfdc69d03a718ef9801c3bfe1cee4a9bc7 Mon Sep 17 00:00:00 2001 From: guoheng Date: Wed, 18 Mar 2026 21:29:00 +0800 Subject: [PATCH 3/4] Modify var declartion position and add comment --- lib/xy.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/xy.h b/lib/xy.h index 37c17713..9317c4ad 100644 --- a/lib/xy.h +++ b/lib/xy.h @@ -473,8 +473,6 @@ static char * _xy_str_to_terminal_style (int style, const char *str) { char *color_fmt_str = NULL; - size_t len; - char *buf; if (!xy.enable_color) { @@ -510,7 +508,9 @@ _xy_str_to_terminal_style (int style, const char *str) color_fmt_str = "\e[9m%s\e[0m"; break; } - + // 标签后第一句必须为statement,否则会编译不通过 + size_t len; + char *buf; new_str: // -2 把中间%s减掉 len = strlen (color_fmt_str) - 2; From 76fe2e85e1287dab55dc09e07921f8e610f942a2 Mon Sep 17 00:00:00 2001 From: guoheng Date: Thu, 19 Mar 2026 22:10:26 +0800 Subject: [PATCH 4/4] Just modify first statement after label --- lib/xy.h | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/lib/xy.h b/lib/xy.h index 9317c4ad..6475006b 100644 --- a/lib/xy.h +++ b/lib/xy.h @@ -510,11 +510,10 @@ _xy_str_to_terminal_style (int style, const char *str) // 标签后第一句必须为statement,否则会编译不通过 size_t len; - char *buf; new_str: // -2 把中间%s减掉 len = strlen (color_fmt_str) - 2; - buf = malloc (strlen (str) + len + 1); + char *buf = malloc (strlen (str) + len + 1); sprintf (buf, color_fmt_str, str); return buf; }