mirror of
https://github.com/RGBCube/serenity
synced 2025-07-27 01:57:45 +00:00
AK: Make string-to-number conversion helpers return Optional
Get rid of the weird old signature: - int StringType::to_int(bool& ok) const And replace it with sensible new signature: - Optional<int> StringType::to_int() const
This commit is contained in:
parent
15f4043a7a
commit
fdfda6dec2
55 changed files with 354 additions and 455 deletions
|
@ -124,14 +124,13 @@ next_entry:
|
|||
auto& e_passwd = parts[1];
|
||||
auto& e_gid_string = parts[2];
|
||||
auto& e_members_string = parts[3];
|
||||
bool ok;
|
||||
gid_t e_gid = e_gid_string.to_uint(ok);
|
||||
if (!ok) {
|
||||
auto e_gid = e_gid_string.to_uint();
|
||||
if (!e_gid.has_value()) {
|
||||
fprintf(stderr, "getgrent(): Malformed GID on line %u\n", __grdb_line_number);
|
||||
goto next_entry;
|
||||
}
|
||||
auto members = e_members_string.split(',');
|
||||
__grdb_entry->gr_gid = e_gid;
|
||||
__grdb_entry->gr_gid = e_gid.value();
|
||||
__grdb_entry->gr_name = __grdb_entry->name_buffer;
|
||||
__grdb_entry->gr_passwd = __grdb_entry->passwd_buffer;
|
||||
for (size_t i = 0; i < members.size(); ++i) {
|
||||
|
|
|
@ -383,12 +383,11 @@ static bool fill_getserv_buffers(char* line, ssize_t read)
|
|||
perror("malformed services file: port/protocol");
|
||||
return false;
|
||||
}
|
||||
bool conversion_checker;
|
||||
__getserv_port_buffer = port_protocol_split[0].to_int(conversion_checker);
|
||||
|
||||
if (!conversion_checker) {
|
||||
auto number = port_protocol_split[0].to_int();
|
||||
if (!number.has_value())
|
||||
return false;
|
||||
}
|
||||
|
||||
__getserv_port_buffer = number.value();
|
||||
|
||||
//Removing any annoying whitespace at the end of the protocol.
|
||||
port_protocol_split[1].replace(" ", "", true);
|
||||
|
@ -571,12 +570,11 @@ static bool fill_getproto_buffers(char* line, ssize_t read)
|
|||
return false;
|
||||
}
|
||||
|
||||
bool conversion_checker;
|
||||
__getproto_protocol_buffer = split_line[1].to_int(conversion_checker);
|
||||
|
||||
if (!conversion_checker) {
|
||||
auto number = split_line[1].to_int();
|
||||
if (!number.has_value())
|
||||
return false;
|
||||
}
|
||||
|
||||
__getproto_protocol_buffer = number.value();
|
||||
|
||||
__getproto_alias_list_buffer.clear();
|
||||
|
||||
|
|
|
@ -128,19 +128,18 @@ next_entry:
|
|||
auto& e_gecos = parts[4];
|
||||
auto& e_dir = parts[5];
|
||||
auto& e_shell = parts[6];
|
||||
bool ok;
|
||||
uid_t e_uid = e_uid_string.to_uint(ok);
|
||||
if (!ok) {
|
||||
auto e_uid = e_uid_string.to_uint();
|
||||
if (!e_uid.has_value()) {
|
||||
fprintf(stderr, "getpwent(): Malformed UID on line %u\n", __pwdb_line_number);
|
||||
goto next_entry;
|
||||
}
|
||||
gid_t e_gid = e_gid_string.to_uint(ok);
|
||||
if (!ok) {
|
||||
auto e_gid = e_gid_string.to_uint();
|
||||
if (!e_gid.has_value()) {
|
||||
fprintf(stderr, "getpwent(): Malformed GID on line %u\n", __pwdb_line_number);
|
||||
goto next_entry;
|
||||
}
|
||||
__pwdb_entry->pw_uid = e_uid;
|
||||
__pwdb_entry->pw_gid = e_gid;
|
||||
__pwdb_entry->pw_uid = e_uid.value();
|
||||
__pwdb_entry->pw_gid = e_gid.value();
|
||||
__pwdb_entry->pw_name = __pwdb_entry->name_buffer;
|
||||
__pwdb_entry->pw_passwd = __pwdb_entry->passwd_buffer;
|
||||
__pwdb_entry->pw_gecos = __pwdb_entry->gecos_buffer;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue