Skip to content

Commit ca00e02

Browse files
committed
set quietly on Windows
1 parent 7d0923e commit ca00e02

File tree

1 file changed

+9
-3
lines changed

1 file changed

+9
-3
lines changed

src/framework/core.c

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1149,12 +1149,12 @@ chsrc_view_env (const char *var1, ...)
11491149
#else
11501150
if (first)
11511151
{
1152-
cmd = xy_strjoin (3, "echo $", var, " ");
1152+
cmd = xy_strjoin (5, "echo ", var, "=$", var, " ");
11531153
first = false;
11541154
}
11551155
else
11561156
{
1157-
cmd = xy_strjoin (4, cmd, "; echo $", var, " ");
1157+
cmd = xy_strjoin (6, cmd, "; echo ", var, "=$", var, " ");
11581158
}
11591159
#endif
11601160
var = va_arg (vars, const char *);
@@ -1164,7 +1164,13 @@ chsrc_view_env (const char *var1, ...)
11641164

11651165
if (var1)
11661166
{
1167-
chsrc_run (cmd, RunOpt_Dont_Notify_On_Success|RunOpt_No_Last_New_Line);
1167+
/**
1168+
* 不用 chsrc_run(),因为在Windows上,set在遇到环境变量未定义时会返回非0,导致 chsrc_run() 报告运行失败
1169+
* 这个错误过于醒目。我们应该像在 sh 一样,默默地没有输出即可,而不是报错
1170+
*/
1171+
// chsrc_run (cmd, RunOpt_Dont_Notify_On_Success|RunOpt_No_Last_New_Line|RunOpt_Dont_Abort_On_Failure);
1172+
int status = system (cmd);
1173+
if (status!=0) {/* NOOP */}
11681174
}
11691175
else
11701176
{

0 commit comments

Comments
 (0)