Skip to content

Commit a978659

Browse files
committed
Add chsrc_view_env()
1 parent 27696d7 commit a978659

File tree

1 file changed

+51
-1
lines changed

1 file changed

+51
-1
lines changed

src/framework/core.c

Lines changed: 51 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
* | Yangmoooo <[email protected]>
1010
* |
1111
* Created On : <2023-08-29>
12-
* Last Modified : <2025-06-18>
12+
* Last Modified : <2025-06-19>
1313
*
1414
* chsrc framework
1515
* ------------------------------------------------------------*/
@@ -1124,6 +1124,56 @@ chsrc_run_as_a_service (const char *cmd)
11241124
ProgMode_Run_as_a_Service = false;
11251125
}
11261126

1127+
static void
1128+
chsrc_view_env (const char *var1, ...)
1129+
{
1130+
char *cmd = NULL;
1131+
const char *var = var1;
1132+
1133+
va_list vars;
1134+
va_start (vars, var1);
1135+
1136+
bool first = true;
1137+
while (var)
1138+
{
1139+
#ifdef XY_On_Windows
1140+
if (first)
1141+
{
1142+
cmd = xy_strjoin (3, "set ", var, " ");
1143+
first = false;
1144+
}
1145+
else
1146+
{
1147+
cmd = xy_strjoin (4, cmd, "& set ", var, " ");
1148+
}
1149+
#else
1150+
if (first)
1151+
{
1152+
cmd = xy_strjoin (3, "echo $", var, " ");
1153+
first = false;
1154+
}
1155+
else
1156+
{
1157+
cmd = xy_strjoin (4, cmd, "; echo $", var, " ");
1158+
}
1159+
#endif
1160+
var = va_arg (vars, const char *);
1161+
}
1162+
1163+
va_end (vars);
1164+
1165+
if (var1)
1166+
{
1167+
chsrc_run (cmd, RunOpt_Dont_Notify_On_Success|RunOpt_No_Last_New_Line);
1168+
}
1169+
else
1170+
{
1171+
/* 必须给一个参数 */
1172+
xy_unreached();
1173+
}
1174+
}
1175+
1176+
11271177
static void
11281178
chsrc_view_file (const char *path)
11291179
{

0 commit comments

Comments
 (0)