mirror of
https://github.com/RGBCube/serenity
synced 2025-07-25 18:17:44 +00:00
strace: Add a chdir formatter
This commit is contained in:
parent
b0efca5742
commit
ae68d1f865
1 changed files with 13 additions and 0 deletions
|
@ -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;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue