Skip to content

Commit e376ad8

Browse files
committed
stdout/stderr/stdin file path overrides for targets
1 parent 23ad094 commit e376ad8

File tree

13 files changed

+166
-22
lines changed

13 files changed

+166
-22
lines changed

src/ctrl/ctrl_core.c

Lines changed: 47 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -300,6 +300,14 @@ ctrl_serialized_string_from_msg_list(Arena *arena, CTRL_MsgList *msgs)
300300
str8_serial_push_data(scratch.arena, &msgs_srlzed, n->string.str, n->string.size);
301301
}
302302

303+
// rjf: write stdout/stderr/stdin paths
304+
str8_serial_push_struct(scratch.arena, &msgs_srlzed, &msg->stdout_path.size);
305+
str8_serial_push_string(scratch.arena, &msgs_srlzed, msg->stdout_path);
306+
str8_serial_push_struct(scratch.arena, &msgs_srlzed, &msg->stderr_path.size);
307+
str8_serial_push_string(scratch.arena, &msgs_srlzed, msg->stderr_path);
308+
str8_serial_push_struct(scratch.arena, &msgs_srlzed, &msg->stdin_path.size);
309+
str8_serial_push_string(scratch.arena, &msgs_srlzed, msg->stdin_path);
310+
303311
// rjf: write trap list
304312
str8_serial_push_struct(scratch.arena, &msgs_srlzed, &msg->traps.count);
305313
for(CTRL_TrapNode *n = msg->traps.first; n != 0; n = n->next)
@@ -405,6 +413,17 @@ ctrl_msg_list_from_serialized_string(Arena *arena, String8 string)
405413
str8_list_push(arena, &msg->env_string_list, env_str);
406414
}
407415

416+
// rjf: read stdout/stderr/stdin paths
417+
read_off += str8_deserial_read_struct(string, read_off, &msg->stdout_path.size);
418+
msg->stdout_path.str = push_array(arena, U8, msg->stdout_path.size);
419+
read_off += str8_deserial_read(string, read_off, msg->stdout_path.str, msg->stdout_path.size, 1);
420+
read_off += str8_deserial_read_struct(string, read_off, &msg->stderr_path.size);
421+
msg->stderr_path.str = push_array(arena, U8, msg->stderr_path.size);
422+
read_off += str8_deserial_read(string, read_off, msg->stderr_path.str, msg->stderr_path.size, 1);
423+
read_off += str8_deserial_read_struct(string, read_off, &msg->stdin_path.size);
424+
msg->stdin_path.str = push_array(arena, U8, msg->stdin_path.size);
425+
read_off += str8_deserial_read(string, read_off, msg->stdin_path.str, msg->stdin_path.size, 1);
426+
408427
// rjf: read trap list
409428
U64 trap_count = 0;
410429
read_off += str8_deserial_read_struct(string, read_off, &trap_count);
@@ -4249,13 +4268,37 @@ ctrl_thread__end_and_flush_info_log(void)
42494268
internal void
42504269
ctrl_thread__launch(DMN_CtrlCtx *ctrl_ctx, CTRL_Msg *msg)
42514270
{
4271+
//- rjf: obtain stdout/stderr/stdin handles
4272+
OS_Handle stdout_handle = {0};
4273+
OS_Handle stderr_handle = {0};
4274+
OS_Handle stdin_handle = {0};
4275+
if(msg->stdout_path.size != 0)
4276+
{
4277+
OS_Handle f = os_file_open(OS_AccessFlag_Write|OS_AccessFlag_Read, msg->stdout_path);
4278+
os_file_close(f);
4279+
stdout_handle = os_file_open(OS_AccessFlag_Write|OS_AccessFlag_Append|OS_AccessFlag_ShareRead|OS_AccessFlag_ShareWrite|OS_AccessFlag_Inherited, msg->stdout_path);
4280+
}
4281+
if(msg->stderr_path.size != 0)
4282+
{
4283+
OS_Handle f = os_file_open(OS_AccessFlag_Write|OS_AccessFlag_Read, msg->stderr_path);
4284+
os_file_close(f);
4285+
stderr_handle = os_file_open(OS_AccessFlag_Write|OS_AccessFlag_Append|OS_AccessFlag_ShareRead|OS_AccessFlag_ShareWrite|OS_AccessFlag_Inherited, msg->stderr_path);
4286+
}
4287+
if(msg->stdin_path.size != 0)
4288+
{
4289+
stdin_handle = os_file_open(OS_AccessFlag_Read|OS_AccessFlag_ShareRead|OS_AccessFlag_ShareWrite|OS_AccessFlag_Inherited, msg->stdin_path);
4290+
}
4291+
42524292
//- rjf: launch
42534293
OS_ProcessLaunchParams params = {0};
42544294
{
4255-
params.cmd_line = msg->cmd_line_string_list;
4256-
params.path = msg->path;
4257-
params.env = msg->env_string_list;
4258-
params.inherit_env = msg->env_inherit;
4295+
params.cmd_line = msg->cmd_line_string_list;
4296+
params.path = msg->path;
4297+
params.env = msg->env_string_list;
4298+
params.inherit_env = msg->env_inherit;
4299+
params.stdout_file = stdout_handle;
4300+
params.stderr_file = stderr_handle;
4301+
params.stdin_file = stdin_handle;
42594302
}
42604303
U32 id = dmn_ctrl_launch(ctrl_ctx, &params);
42614304

src/ctrl/ctrl_core.h

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,9 @@ Y(String8, type(CTRL_PathString8), dbg, "Debug Info Path")\
8686
Y(String8, type(CTRL_PlainString8), args, "Arguments")\
8787
Y(String8, type(CTRL_PathString8), working_directory, "Working Directory")\
8888
Y(String8, type(CTRL_CodeString8), entry_point, "Custom Entry Point")\
89+
Y(String8, type(CTRL_PathString8), stdout_path, "Standard Output Path")\
90+
Y(String8, type(CTRL_PathString8), stderr_path, "Standard Error Path")\
91+
Y(String8, type(CTRL_PathString8), stdin_path, "Standard Input Path")\
8992
Y(String8, type(CTRL_PathString8), source_location, "Source Location")\
9093
Y(String8, type(CTRL_CodeString8), function_location, "Function Location")\
9194
Y(String8, type(CTRL_CodeString8), address_location, "Address Location")\
@@ -132,6 +135,9 @@ struct_members(CTRL_TargetMetaEval)
132135
member_lit_comp(CTRL_MetaEval, type(CTRL_PlainString8),args, .pretty_name = str8_lit_comp("Arguments")),
133136
member_lit_comp(CTRL_MetaEval, type(CTRL_PathString8), working_directory, .pretty_name = str8_lit_comp("Working Directory")),
134137
member_lit_comp(CTRL_MetaEval, type(CTRL_CodeString8), entry_point, .pretty_name = str8_lit_comp("Custom Entry Point")),
138+
member_lit_comp(CTRL_MetaEval, type(CTRL_PathString8), stdout_path, .pretty_name = str8_lit_comp("Standard Output Path")),
139+
member_lit_comp(CTRL_MetaEval, type(CTRL_PathString8), stderr_path, .pretty_name = str8_lit_comp("Standard Error Path")),
140+
member_lit_comp(CTRL_MetaEval, type(CTRL_PathString8), stdin_path, .pretty_name = str8_lit_comp("Standard Input Path")),
135141
};
136142

137143
struct_members(CTRL_PinMetaEval)
@@ -544,6 +550,9 @@ struct CTRL_Msg
544550
String8List entry_points;
545551
String8List cmd_line_string_list;
546552
String8List env_string_list;
553+
String8 stdout_path;
554+
String8 stderr_path;
555+
String8 stdin_path;
547556
CTRL_TrapList traps;
548557
CTRL_UserBreakpointList user_bps;
549558
CTRL_MetaEvalArray meta_evals;

src/dbg_engine/dbg_engine_core.c

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2031,6 +2031,9 @@ d_tick(Arena *arena, D_TargetArray *targets, D_BreakpointArray *breakpoints, D_P
20312031
String8 args = str8_skip_chop_whitespace(target->args);
20322032
String8 working_directory = str8_skip_chop_whitespace(target->working_directory);
20332033
String8 custom_entry_point_name = str8_skip_chop_whitespace(target->custom_entry_point_name);
2034+
String8 stdout_path = str8_skip_chop_whitespace(target->stdout_path);
2035+
String8 stderr_path = str8_skip_chop_whitespace(target->stderr_path);
2036+
String8 stdin_path = str8_skip_chop_whitespace(target->stdin_path);
20342037
String8List env = target->env;
20352038
if(working_directory.size == 0)
20362039
{
@@ -2071,6 +2074,9 @@ d_tick(Arena *arena, D_TargetArray *targets, D_BreakpointArray *breakpoints, D_P
20712074
msg->kind = CTRL_MsgKind_Launch;
20722075
msg->path = working_directory;
20732076
msg->cmd_line_string_list = cmdln_strings;
2077+
msg->stdout_path = stdout_path;
2078+
msg->stderr_path = stderr_path;
2079+
msg->stdin_path = stdin_path;
20742080
msg->env_inherit = 1;
20752081
MemoryCopyArray(msg->exception_code_filters, exception_code_filters);
20762082
MemoryCopyStruct(&msg->meta_evals, meta_evals);

src/dbg_engine/dbg_engine_core.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,9 @@ struct D_Target
1414
String8 args;
1515
String8 working_directory;
1616
String8 custom_entry_point_name;
17+
String8 stdout_path;
18+
String8 stderr_path;
19+
String8 stdin_path;
1720
String8List env;
1821
};
1922

src/demon/win32/demon_core_win32.c

Lines changed: 24 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1256,11 +1256,33 @@ dmn_ctrl_launch(DMN_CtrlCtx *ctx, OS_ProcessLaunchParams *params)
12561256
String16 env16 = str16_from_8(scratch.arena, env);
12571257

12581258
//- rjf: launch
1259-
DWORD access_flags = CREATE_UNICODE_ENVIRONMENT|DEBUG_PROCESS;
1259+
DWORD creation_flags = CREATE_UNICODE_ENVIRONMENT|DEBUG_PROCESS;
1260+
BOOL inherit_handles = 0;
12601261
STARTUPINFOW startup_info = {sizeof(startup_info)};
1262+
if(!os_handle_match(params->stdout_file, os_handle_zero()))
1263+
{
1264+
HANDLE stdout_handle = (HANDLE)params->stdout_file.u64[0];
1265+
startup_info.hStdOutput = stdout_handle;
1266+
startup_info.dwFlags |= STARTF_USESTDHANDLES;
1267+
inherit_handles = 1;
1268+
}
1269+
if(!os_handle_match(params->stderr_file, os_handle_zero()))
1270+
{
1271+
HANDLE stderr_handle = (HANDLE)params->stderr_file.u64[0];
1272+
startup_info.hStdError = stderr_handle;
1273+
startup_info.dwFlags |= STARTF_USESTDHANDLES;
1274+
inherit_handles = 1;
1275+
}
1276+
if(!os_handle_match(params->stdin_file, os_handle_zero()))
1277+
{
1278+
HANDLE stdin_handle = (HANDLE)params->stdin_file.u64[0];
1279+
startup_info.hStdInput = stdin_handle;
1280+
startup_info.dwFlags |= STARTF_USESTDHANDLES;
1281+
inherit_handles = 1;
1282+
}
12611283
PROCESS_INFORMATION process_info = {0};
12621284
AllocConsole();
1263-
if(CreateProcessW(0, (WCHAR*)cmd16.str, 0, 0, 1, access_flags, (WCHAR*)env16.str, (WCHAR*)dir16.str, &startup_info, &process_info))
1285+
if(CreateProcessW(0, (WCHAR*)cmd16.str, 0, 0, 1, creation_flags, (WCHAR*)env16.str, (WCHAR*)dir16.str, &startup_info, &process_info))
12641286
{
12651287
// check if we are 32-bit app, and just close it immediately
12661288
BOOL is_wow = 0;

src/os/core/os_core.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,8 @@ struct OS_ProcessLaunchParams
123123
B32 inherit_env;
124124
B32 consoleless;
125125
OS_Handle stdout_file;
126+
OS_Handle stderr_file;
127+
OS_Handle stdin_file;
126128
};
127129

128130
////////////////////////////////

src/os/core/win32/os_core_win32.c

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -941,7 +941,21 @@ os_process_launch(OS_ProcessLaunchParams *params)
941941
startup_info.hStdOutput = stdout_handle;
942942
startup_info.dwFlags |= STARTF_USESTDHANDLES;
943943
inherit_handles = 1;
944-
}
944+
}
945+
if(!os_handle_match(params->stderr_file, os_handle_zero()))
946+
{
947+
HANDLE stderr_handle = (HANDLE)params->stderr_file.u64[0];
948+
startup_info.hStdError = stderr_handle;
949+
startup_info.dwFlags |= STARTF_USESTDHANDLES;
950+
inherit_handles = 1;
951+
}
952+
if(!os_handle_match(params->stdin_file, os_handle_zero()))
953+
{
954+
HANDLE stdin_handle = (HANDLE)params->stdin_file.u64[0];
955+
startup_info.hStdInput = stdin_handle;
956+
startup_info.dwFlags |= STARTF_USESTDHANDLES;
957+
inherit_handles = 1;
958+
}
945959
PROCESS_INFORMATION process_info = {0};
946960
if(CreateProcessW(0, (WCHAR*)cmd16.str, 0, 0, inherit_handles, creation_flags, use_null_env_arg ? 0 : (WCHAR*)env16.str, (WCHAR*)dir16.str, &startup_info, &process_info))
947961
{

src/raddbg/generated/raddbg.meta.c

Lines changed: 25 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ RD_CmdKind_Null,
3636
RD_CmdKind_Null,
3737
};
3838

39-
String8 d_entity_kind_display_string_table[31] =
39+
String8 d_entity_kind_display_string_table[34] =
4040
{
4141
str8_lit_comp("Nil"),
4242
str8_lit_comp("Root"),
@@ -55,6 +55,9 @@ str8_lit_comp("Executable"),
5555
str8_lit_comp("Arguments"),
5656
str8_lit_comp("Working Directory"),
5757
str8_lit_comp("Entry Point"),
58+
str8_lit_comp("Standard Output Path"),
59+
str8_lit_comp("Standard Error Path"),
60+
str8_lit_comp("Standard Input Path"),
5861
str8_lit_comp("Window"),
5962
str8_lit_comp("Panel"),
6063
str8_lit_comp("View"),
@@ -71,7 +74,7 @@ str8_lit_comp("Conversion Task"),
7174
str8_lit_comp("Conversion Failure"),
7275
};
7376

74-
String8 d_entity_kind_name_lower_table[31] =
77+
String8 d_entity_kind_name_lower_table[34] =
7578
{
7679
str8_lit_comp("nil"),
7780
str8_lit_comp("root"),
@@ -90,6 +93,9 @@ str8_lit_comp("executable"),
9093
str8_lit_comp("arguments"),
9194
str8_lit_comp("working_directory"),
9295
str8_lit_comp("entry_point"),
96+
str8_lit_comp("stdout_path"),
97+
str8_lit_comp("stderr_path"),
98+
str8_lit_comp("stdin_path"),
9399
str8_lit_comp("window"),
94100
str8_lit_comp("panel"),
95101
str8_lit_comp("view"),
@@ -106,7 +112,7 @@ str8_lit_comp("conversion_task"),
106112
str8_lit_comp("conversion_fail"),
107113
};
108114

109-
String8 d_entity_kind_name_lower_plural_table[31] =
115+
String8 d_entity_kind_name_lower_plural_table[34] =
110116
{
111117
str8_lit_comp("nils"),
112118
str8_lit_comp("roots"),
@@ -125,6 +131,9 @@ str8_lit_comp("executables"),
125131
str8_lit_comp("argumentses"),
126132
str8_lit_comp("working_directories"),
127133
str8_lit_comp("entry_points"),
134+
str8_lit_comp("stdout_paths"),
135+
str8_lit_comp("stderr_paths"),
136+
str8_lit_comp("stdin_paths"),
128137
str8_lit_comp("windows"),
129138
str8_lit_comp("panels"),
130139
str8_lit_comp("views"),
@@ -141,7 +150,7 @@ str8_lit_comp("conversion_tasks"),
141150
str8_lit_comp("conversion_fails"),
142151
};
143152

144-
String8 d_entity_kind_name_label_table[31] =
153+
String8 d_entity_kind_name_label_table[34] =
145154
{
146155
str8_lit_comp("Label"),
147156
str8_lit_comp("Label"),
@@ -158,8 +167,11 @@ str8_lit_comp("Location"),
158167
str8_lit_comp("Label"),
159168
str8_lit_comp("Executable"),
160169
str8_lit_comp("Arguments"),
161-
str8_lit_comp("Execution Path"),
170+
str8_lit_comp("Path"),
162171
str8_lit_comp("Symbol Name"),
172+
str8_lit_comp("Path"),
173+
str8_lit_comp("Path"),
174+
str8_lit_comp("Path"),
163175
str8_lit_comp("Label"),
164176
str8_lit_comp("Label"),
165177
str8_lit_comp("Label"),
@@ -176,7 +188,7 @@ str8_lit_comp("Label"),
176188
str8_lit_comp("Label"),
177189
};
178190

179-
RD_EntityKindFlags rd_entity_kind_flags_table[31] =
191+
RD_EntityKindFlags rd_entity_kind_flags_table[34] =
180192
{
181193
(0*RD_EntityKindFlag_CanDelete) | (0*RD_EntityKindFlag_CanFreeze) | (0*RD_EntityKindFlag_CanEdit) | (0*RD_EntityKindFlag_CanRename) | (0*RD_EntityKindFlag_CanEnable) | (0*RD_EntityKindFlag_CanCondition) | (0*RD_EntityKindFlag_CanDuplicate) | (0*RD_EntityKindFlag_NameIsCode) | (0*RD_EntityKindFlag_NameIsPath) | (0*RD_EntityKindFlag_UserDefinedLifetime) | (0*RD_EntityKindFlag_IsSerializedToConfig),
182194
(0*RD_EntityKindFlag_CanDelete) | (0*RD_EntityKindFlag_CanFreeze) | (0*RD_EntityKindFlag_CanEdit) | (0*RD_EntityKindFlag_CanRename) | (0*RD_EntityKindFlag_CanEnable) | (0*RD_EntityKindFlag_CanCondition) | (0*RD_EntityKindFlag_CanDuplicate) | (0*RD_EntityKindFlag_NameIsCode) | (0*RD_EntityKindFlag_NameIsPath) | (0*RD_EntityKindFlag_UserDefinedLifetime) | (0*RD_EntityKindFlag_IsSerializedToConfig),
@@ -195,6 +207,9 @@ RD_EntityKindFlags rd_entity_kind_flags_table[31] =
195207
(0*RD_EntityKindFlag_CanDelete) | (0*RD_EntityKindFlag_CanFreeze) | (0*RD_EntityKindFlag_CanEdit) | (0*RD_EntityKindFlag_CanRename) | (0*RD_EntityKindFlag_CanEnable) | (0*RD_EntityKindFlag_CanCondition) | (0*RD_EntityKindFlag_CanDuplicate) | (0*RD_EntityKindFlag_NameIsCode) | (0*RD_EntityKindFlag_NameIsPath) | (1*RD_EntityKindFlag_UserDefinedLifetime) | (0*RD_EntityKindFlag_IsSerializedToConfig),
196208
(0*RD_EntityKindFlag_CanDelete) | (0*RD_EntityKindFlag_CanFreeze) | (0*RD_EntityKindFlag_CanEdit) | (0*RD_EntityKindFlag_CanRename) | (0*RD_EntityKindFlag_CanEnable) | (0*RD_EntityKindFlag_CanCondition) | (0*RD_EntityKindFlag_CanDuplicate) | (0*RD_EntityKindFlag_NameIsCode) | (1*RD_EntityKindFlag_NameIsPath) | (1*RD_EntityKindFlag_UserDefinedLifetime) | (0*RD_EntityKindFlag_IsSerializedToConfig),
197209
(0*RD_EntityKindFlag_CanDelete) | (0*RD_EntityKindFlag_CanFreeze) | (0*RD_EntityKindFlag_CanEdit) | (0*RD_EntityKindFlag_CanRename) | (0*RD_EntityKindFlag_CanEnable) | (0*RD_EntityKindFlag_CanCondition) | (0*RD_EntityKindFlag_CanDuplicate) | (0*RD_EntityKindFlag_NameIsCode) | (0*RD_EntityKindFlag_NameIsPath) | (1*RD_EntityKindFlag_UserDefinedLifetime) | (0*RD_EntityKindFlag_IsSerializedToConfig),
210+
(0*RD_EntityKindFlag_CanDelete) | (0*RD_EntityKindFlag_CanFreeze) | (0*RD_EntityKindFlag_CanEdit) | (0*RD_EntityKindFlag_CanRename) | (0*RD_EntityKindFlag_CanEnable) | (0*RD_EntityKindFlag_CanCondition) | (0*RD_EntityKindFlag_CanDuplicate) | (0*RD_EntityKindFlag_NameIsCode) | (1*RD_EntityKindFlag_NameIsPath) | (1*RD_EntityKindFlag_UserDefinedLifetime) | (0*RD_EntityKindFlag_IsSerializedToConfig),
211+
(0*RD_EntityKindFlag_CanDelete) | (0*RD_EntityKindFlag_CanFreeze) | (0*RD_EntityKindFlag_CanEdit) | (0*RD_EntityKindFlag_CanRename) | (0*RD_EntityKindFlag_CanEnable) | (0*RD_EntityKindFlag_CanCondition) | (0*RD_EntityKindFlag_CanDuplicate) | (0*RD_EntityKindFlag_NameIsCode) | (1*RD_EntityKindFlag_NameIsPath) | (1*RD_EntityKindFlag_UserDefinedLifetime) | (0*RD_EntityKindFlag_IsSerializedToConfig),
212+
(0*RD_EntityKindFlag_CanDelete) | (0*RD_EntityKindFlag_CanFreeze) | (0*RD_EntityKindFlag_CanEdit) | (0*RD_EntityKindFlag_CanRename) | (0*RD_EntityKindFlag_CanEnable) | (0*RD_EntityKindFlag_CanCondition) | (0*RD_EntityKindFlag_CanDuplicate) | (0*RD_EntityKindFlag_NameIsCode) | (1*RD_EntityKindFlag_NameIsPath) | (1*RD_EntityKindFlag_UserDefinedLifetime) | (0*RD_EntityKindFlag_IsSerializedToConfig),
198213
(1*RD_EntityKindFlag_CanDelete) | (0*RD_EntityKindFlag_CanFreeze) | (0*RD_EntityKindFlag_CanEdit) | (0*RD_EntityKindFlag_CanRename) | (0*RD_EntityKindFlag_CanEnable) | (0*RD_EntityKindFlag_CanCondition) | (1*RD_EntityKindFlag_CanDuplicate) | (0*RD_EntityKindFlag_NameIsCode) | (0*RD_EntityKindFlag_NameIsPath) | (1*RD_EntityKindFlag_UserDefinedLifetime) | (1*RD_EntityKindFlag_IsSerializedToConfig),
199214
(1*RD_EntityKindFlag_CanDelete) | (0*RD_EntityKindFlag_CanFreeze) | (0*RD_EntityKindFlag_CanEdit) | (0*RD_EntityKindFlag_CanRename) | (0*RD_EntityKindFlag_CanEnable) | (0*RD_EntityKindFlag_CanCondition) | (1*RD_EntityKindFlag_CanDuplicate) | (0*RD_EntityKindFlag_NameIsCode) | (0*RD_EntityKindFlag_NameIsPath) | (1*RD_EntityKindFlag_UserDefinedLifetime) | (1*RD_EntityKindFlag_IsSerializedToConfig),
200215
(1*RD_EntityKindFlag_CanDelete) | (0*RD_EntityKindFlag_CanFreeze) | (0*RD_EntityKindFlag_CanEdit) | (0*RD_EntityKindFlag_CanRename) | (0*RD_EntityKindFlag_CanEnable) | (0*RD_EntityKindFlag_CanCondition) | (1*RD_EntityKindFlag_CanDuplicate) | (0*RD_EntityKindFlag_NameIsCode) | (0*RD_EntityKindFlag_NameIsPath) | (1*RD_EntityKindFlag_UserDefinedLifetime) | (1*RD_EntityKindFlag_IsSerializedToConfig),
@@ -870,7 +885,7 @@ RD_ViewRuleInfo rd_view_rule_kind_info_table[35] =
870885
{str8_lit_comp("geo3d"), str8_lit_comp("Visualizes memory as 3D geometry."), str8_lit_comp("Geometry (3D)"), str8_lit_comp("x:{'count':expr, 'vtx':expr, 'vtx_size':expr}"), RD_IconKind_Binoculars, (RD_ViewRuleInfoFlag_ShowInDocs*1|RD_ViewRuleInfoFlag_CanFilter*0|RD_ViewRuleInfoFlag_FilterIsCode*0|RD_ViewRuleInfoFlag_TypingAutomaticallyFilters*0|RD_ViewRuleInfoFlag_CanUseInWatchTable*1|RD_ViewRuleInfoFlag_CanFillValueCell*0|RD_ViewRuleInfoFlag_CanExpand*1), EV_VIEW_RULE_EXPR_EXPAND_INFO_FUNCTION_NAME(geo3d) , RD_VIEW_RULE_UI_FUNCTION_NAME(geo3d)},
871886
};
872887

873-
RD_IconKind rd_entity_kind_icon_kind_table[31] =
888+
RD_IconKind rd_entity_kind_icon_kind_table[34] =
874889
{
875890
RD_IconKind_Null,
876891
RD_IconKind_Null,
@@ -889,6 +904,9 @@ RD_IconKind_Null,
889904
RD_IconKind_Null,
890905
RD_IconKind_Null,
891906
RD_IconKind_Null,
907+
RD_IconKind_Null,
908+
RD_IconKind_Null,
909+
RD_IconKind_Null,
892910
RD_IconKind_Window,
893911
RD_IconKind_XSplit,
894912
RD_IconKind_Null,

src/raddbg/generated/raddbg.meta.h

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,9 @@ RD_EntityKind_Executable,
3434
RD_EntityKind_Arguments,
3535
RD_EntityKind_WorkingDirectory,
3636
RD_EntityKind_EntryPoint,
37+
RD_EntityKind_StdoutPath,
38+
RD_EntityKind_StderrPath,
39+
RD_EntityKind_StdinPath,
3740
RD_EntityKind_Window,
3841
RD_EntityKind_Panel,
3942
RD_EntityKind_View,
@@ -763,11 +766,11 @@ extern String8 rd_cfg_src_string_table[4];
763766
extern RD_CmdKind rd_cfg_src_load_cmd_kind_table[4];
764767
extern RD_CmdKind rd_cfg_src_write_cmd_kind_table[4];
765768
extern RD_CmdKind rd_cfg_src_apply_cmd_kind_table[4];
766-
extern String8 d_entity_kind_display_string_table[31];
767-
extern String8 d_entity_kind_name_lower_table[31];
768-
extern String8 d_entity_kind_name_lower_plural_table[31];
769-
extern String8 d_entity_kind_name_label_table[31];
770-
extern RD_EntityKindFlags rd_entity_kind_flags_table[31];
769+
extern String8 d_entity_kind_display_string_table[34];
770+
extern String8 d_entity_kind_name_lower_table[34];
771+
extern String8 d_entity_kind_name_lower_plural_table[34];
772+
extern String8 d_entity_kind_name_label_table[34];
773+
extern RD_EntityKindFlags rd_entity_kind_flags_table[34];
771774
extern Rng1U64 rd_reg_slot_range_table[34];
772775
extern RD_StringBindingPair rd_default_binding_table[110];
773776
extern String8 rd_binding_version_remap_old_name_table[8];
@@ -781,7 +784,7 @@ extern EV_ViewRuleExprExpandRangeInfoHookFunctionType * rd_collection_expr_expan
781784
extern EV_ViewRuleExprExpandIDFromNumHookFunctionType * rd_collection_expr_expand_id_from_num_hook_function_table[18];
782785
extern EV_ViewRuleExprExpandIDFromNumHookFunctionType * rd_collection_expr_expand_num_from_id_hook_function_table[18];
783786
extern RD_ViewRuleInfo rd_view_rule_kind_info_table[35];
784-
extern RD_IconKind rd_entity_kind_icon_kind_table[31];
787+
extern RD_IconKind rd_entity_kind_icon_kind_table[34];
785788
extern String8 rd_theme_preset_display_string_table[9];
786789
extern String8 rd_theme_preset_code_string_table[9];
787790
extern String8 rd_theme_color_version_remap_old_name_table[22];

0 commit comments

Comments
 (0)