1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 15:48:12 +00:00

Kernel+AK: Eliminate a couple of temporary String allocations

This commit is contained in:
Daniel Bertalan 2021-12-30 13:43:45 +01:00 committed by Andreas Kling
parent 726c023f9e
commit 1d2f78682b
7 changed files with 10 additions and 10 deletions

View file

@ -184,7 +184,7 @@ void StringBuilder::append_escaped_for_json(StringView string)
break; break;
default: default:
if (ch >= 0 && ch <= 0x1f) if (ch >= 0 && ch <= 0x1f)
append(String::formatted("\\u{:04x}", ch)); appendff("\\u{:04x}", ch);
else else
append(ch); append(ch);
} }

View file

@ -131,7 +131,7 @@ private:
JsonArraySerializer array { builder }; JsonArraySerializer array { builder };
LocalSocket::for_each([&array](auto& socket) { LocalSocket::for_each([&array](auto& socket) {
auto obj = array.add_object(); auto obj = array.add_object();
obj.add("path", String(socket.socket_path())); obj.add("path", socket.socket_path());
obj.add("origin_pid", socket.origin_pid().value()); obj.add("origin_pid", socket.origin_pid().value());
obj.add("origin_uid", socket.origin_uid().value()); obj.add("origin_uid", socket.origin_uid().value());
obj.add("origin_gid", socket.origin_gid().value()); obj.add("origin_gid", socket.origin_gid().value());
@ -463,7 +463,7 @@ private:
ENUMERATE_PLEDGE_PROMISES ENUMERATE_PLEDGE_PROMISES
#undef __ENUMERATE_PLEDGE_PROMISE #undef __ENUMERATE_PLEDGE_PROMISE
process_object.add("pledge", pledge_builder.to_string()); process_object.add("pledge", pledge_builder.string_view());
switch (process.veil_state()) { switch (process.veil_state()) {
case VeilState::None: case VeilState::None:
@ -756,7 +756,7 @@ private:
{ {
if (!Process::current().is_superuser()) if (!Process::current().is_superuser())
return EPERM; return EPERM;
return builder.append(String::number(kernel_load_base)); return builder.appendff("{}", kernel_load_base);
} }
}; };

View file

@ -121,7 +121,7 @@ ErrorOr<void> KBufferBuilder::append_escaped_for_json(StringView string)
break; break;
default: default:
if (ch >= 0 && ch <= 0x1f) if (ch >= 0 && ch <= 0x1f)
TRY(append(String::formatted("\\u{:04x}", ch))); TRY(appendff("\\u{:04x}", ch));
else else
TRY(append(ch)); TRY(append(ch));
} }

View file

@ -497,7 +497,7 @@ ErrorOr<NonnullOwnPtr<KString>> IPv4Socket::pseudo_path(const OpenFileDescriptio
VERIFY_NOT_REACHED(); VERIFY_NOT_REACHED();
} }
return KString::try_create(builder.to_string()); return KString::try_create(builder.string_view());
} }
ErrorOr<void> IPv4Socket::setsockopt(int level, int option, Userspace<const void*> user_value, socklen_t user_value_size) ErrorOr<void> IPv4Socket::setsockopt(int level, int option, Userspace<const void*> user_value, socklen_t user_value_size)

View file

@ -378,7 +378,7 @@ ErrorOr<NonnullOwnPtr<KString>> LocalSocket::pseudo_path(const OpenFileDescripti
break; break;
} }
return KString::try_create(builder.to_string()); return KString::try_create(builder.string_view());
} }
ErrorOr<void> LocalSocket::getsockopt(OpenFileDescription& description, int level, int option, Userspace<void*> value, Userspace<socklen_t*> value_size) ErrorOr<void> LocalSocket::getsockopt(OpenFileDescription& description, int level, int option, Userspace<void*> value, Userspace<socklen_t*> value_size)

View file

@ -159,7 +159,7 @@ ErrorOr<void> Process::procfs_get_unveil_stats(KBufferBuilder& builder) const
permissions_builder.append('c'); permissions_builder.append('c');
if (unveiled_path.permissions() & UnveilAccess::Browse) if (unveiled_path.permissions() & UnveilAccess::Browse)
permissions_builder.append('b'); permissions_builder.append('b');
obj.add("permissions", permissions_builder.to_string()); obj.add("permissions", permissions_builder.string_view());
} }
array.finish(); array.finish();
return {}; return {};
@ -255,7 +255,7 @@ ErrorOr<void> Process::procfs_get_virtual_memory_stats(KBufferBuilder& builder)
else else
pagemap_builder.append('P'); pagemap_builder.append('P');
} }
region_object.add("pagemap", pagemap_builder.to_string()); region_object.add("pagemap", pagemap_builder.string_view());
} }
} }
array.finish(); array.finish();

View file

@ -520,7 +520,7 @@ ErrorOr<FlatPtr> Process::sys$allocate_tls(Userspace<const char*> initial_data,
return EINVAL; return EINVAL;
auto range = TRY(address_space().try_allocate_range({}, size)); auto range = TRY(address_space().try_allocate_range({}, size));
auto* region = TRY(address_space().allocate_region(range, String("Master TLS"), PROT_READ | PROT_WRITE)); auto* region = TRY(address_space().allocate_region(range, "Master TLS"sv, PROT_READ | PROT_WRITE));
m_master_tls_region = region->make_weak_ptr(); m_master_tls_region = region->make_weak_ptr();
m_master_tls_size = size; m_master_tls_size = size;