mirror of
https://github.com/RGBCube/serenity
synced 2025-07-26 09:47:35 +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)
|
static void format_fstat(FormattedSyscallBuilder& builder, int fd, struct stat* buf_p)
|
||||||
{
|
{
|
||||||
auto buf = copy_from_process(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);
|
format_fstat(builder, (int)arg1, (struct stat*)arg2);
|
||||||
result_type = Ssize;
|
result_type = Ssize;
|
||||||
break;
|
break;
|
||||||
|
case SC_chdir:
|
||||||
|
format_chdir(builder, (char const*)arg1, (size_t)arg2);
|
||||||
|
result_type = Int;
|
||||||
|
break;
|
||||||
case SC_get_process_name:
|
case SC_get_process_name:
|
||||||
format_get_process_name(builder, (char*)arg1, (size_t)arg2);
|
format_get_process_name(builder, (char*)arg1, (size_t)arg2);
|
||||||
break;
|
break;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue