strace: Add a chdir formatter

This commit is contained in:
Ali Mohammad Pur 2022-02-11 18:55:26 +03:30 committed by Andreas Kling
parent b0efca5742
commit ae68d1f865
Notes: sideshowbarker 2024-07-17 18:58:53 +09:00

View File

@ -529,6 +529,15 @@ struct Formatter<struct stat> : StandardFormatter {
};
}
static void format_chdir(FormattedSyscallBuilder& builder, char const* path_p, size_t length)
{
auto buf = copy_from_process(path_p, length);
if (buf.is_error())
builder.add_arguments(buf.error());
else
builder.add_arguments(StringView { buf.value().data(), buf.value().size() });
}
static void format_fstat(FormattedSyscallBuilder& builder, int fd, struct stat* buf_p)
{
auto buf = copy_from_process(buf_p);
@ -711,6 +720,10 @@ static void format_syscall(FormattedSyscallBuilder& builder, Syscall::Function s
format_fstat(builder, (int)arg1, (struct stat*)arg2);
result_type = Ssize;
break;
case SC_chdir:
format_chdir(builder, (char const*)arg1, (size_t)arg2);
result_type = Int;
break;
case SC_get_process_name:
format_get_process_name(builder, (char*)arg1, (size_t)arg2);
break;