From a978659696cdba835260296dfce8b9f13a75e640 Mon Sep 17 00:00:00 2001 From: Aoran Zeng Date: Thu, 19 Jun 2025 14:02:14 +0800 Subject: [PATCH] Add `chsrc_view_env()` --- src/framework/core.c | 52 +++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 51 insertions(+), 1 deletion(-) diff --git a/src/framework/core.c b/src/framework/core.c index 2f90a1e..16ad6fb 100644 --- a/src/framework/core.c +++ b/src/framework/core.c @@ -9,7 +9,7 @@ * | Yangmoooo * | * Created On : <2023-08-29> - * Last Modified : <2025-06-18> + * Last Modified : <2025-06-19> * * chsrc framework * ------------------------------------------------------------*/ @@ -1124,6 +1124,56 @@ chsrc_run_as_a_service (const char *cmd) ProgMode_Run_as_a_Service = false; } +static void +chsrc_view_env (const char *var1, ...) +{ + char *cmd = NULL; + const char *var = var1; + + va_list vars; + va_start (vars, var1); + + bool first = true; + while (var) + { +#ifdef XY_On_Windows + if (first) + { + cmd = xy_strjoin (3, "set ", var, " "); + first = false; + } + else + { + cmd = xy_strjoin (4, cmd, "& set ", var, " "); + } +#else + if (first) + { + cmd = xy_strjoin (3, "echo $", var, " "); + first = false; + } + else + { + cmd = xy_strjoin (4, cmd, "; echo $", var, " "); + } +#endif + var = va_arg (vars, const char *); + } + + va_end (vars); + + if (var1) + { + chsrc_run (cmd, RunOpt_Dont_Notify_On_Success|RunOpt_No_Last_New_Line); + } + else + { + /* 必须给一个参数 */ + xy_unreached(); + } +} + + static void chsrc_view_file (const char *path) {