1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-28 14:15:07 +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:
Andreas Kling 2020-06-12 21:07:52 +02:00
parent 15f4043a7a
commit fdfda6dec2
55 changed files with 354 additions and 455 deletions

View file

@ -251,10 +251,9 @@ void init_stage2()
root = root.substring(strlen("/dev/hda"), root.length() - strlen("/dev/hda"));
if (root.length()) {
bool ok;
unsigned partition_number = root.to_uint(ok);
auto partition_number = root.to_uint();
if (!ok) {
if (!partition_number.has_value()) {
klog() << "init_stage2: couldn't parse partition number from root kernel parameter";
hang();
}
@ -273,9 +272,9 @@ void init_stage2()
klog() << "init_stage2: couldn't read GPT from disk";
hang();
}
auto partition = gpt.partition(partition_number);
auto partition = gpt.partition(partition_number.value());
if (!partition) {
klog() << "init_stage2: couldn't get partition " << partition_number;
klog() << "init_stage2: couldn't get partition " << partition_number.value();
hang();
}
root_dev = *partition;
@ -287,20 +286,20 @@ void init_stage2()
klog() << "init_stage2: couldn't read EBR from disk";
hang();
}
auto partition = ebr.partition(partition_number);
auto partition = ebr.partition(partition_number.value());
if (!partition) {
klog() << "init_stage2: couldn't get partition " << partition_number;
klog() << "init_stage2: couldn't get partition " << partition_number.value();
hang();
}
root_dev = *partition;
} else {
if (partition_number < 1 || partition_number > 4) {
klog() << "init_stage2: invalid partition number " << partition_number << "; expected 1 to 4";
if (partition_number.value() < 1 || partition_number.value() > 4) {
klog() << "init_stage2: invalid partition number " << partition_number.value() << "; expected 1 to 4";
hang();
}
auto partition = mbr.partition(partition_number);
auto partition = mbr.partition(partition_number.value());
if (!partition) {
klog() << "init_stage2: couldn't get partition " << partition_number;
klog() << "init_stage2: couldn't get partition " << partition_number.value();
hang();
}
root_dev = *partition;