1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-14 09:24:57 +00:00

AK+Everywhere: Remove the null state of DeprecatedString

This commit removes DeprecatedString's "null" state, and replaces all
its users with one of the following:
- A normal, empty DeprecatedString
- Optional<DeprecatedString>

Note that null states of DeprecatedFlyString/StringView/etc are *not*
affected by this commit. However, DeprecatedString::empty() is now
considered equal to a null StringView.
This commit is contained in:
Ali Mohammad Pur 2023-10-10 15:00:58 +03:30 committed by Ali Mohammad Pur
parent daf6d8173c
commit aeee98b3a1
189 changed files with 597 additions and 652 deletions

View file

@ -881,17 +881,17 @@ void sync()
syscall(SC_sync);
}
static DeprecatedString getlogin_buffer;
static Optional<DeprecatedString> getlogin_buffer {};
char* getlogin()
{
if (getlogin_buffer.is_null()) {
if (!getlogin_buffer.has_value()) {
if (auto* passwd = getpwuid(getuid())) {
getlogin_buffer = DeprecatedString(passwd->pw_name);
}
endpwent();
}
return const_cast<char*>(getlogin_buffer.characters());
return const_cast<char*>(getlogin_buffer->characters());
}
// https://pubs.opengroup.org/onlinepubs/9699919799/functions/ftruncate.html