summaryrefslogtreecommitdiff
path: root/Userland/Applets/ResourceGraph/main.cpp
diff options
context:
space:
mode:
authorAndreas Kling <kling@serenityos.org>2021-11-15 01:46:51 +0100
committerAndreas Kling <kling@serenityos.org>2021-11-17 00:21:10 +0100
commit587f9af960daa9f003ec9e41751cdc4ce50b87dd (patch)
tree41bc5b51741dffcc23e3e4b63d4c17a37e2e03d7 /Userland/Applets/ResourceGraph/main.cpp
parent304c03f457e294a3d756860325d93b809f50f7a6 (diff)
downloadserenity-587f9af960daa9f003ec9e41751cdc4ce50b87dd.zip
AK: Make JSON parser return ErrorOr<JsonValue> (instead of Optional)
Also add slightly richer parse errors now that we can include a string literal with returned errors. This will allow us to use TRY() when working with JSON data.
Diffstat (limited to 'Userland/Applets/ResourceGraph/main.cpp')
-rw-r--r--Userland/Applets/ResourceGraph/main.cpp10
1 files changed, 4 insertions, 6 deletions
diff --git a/Userland/Applets/ResourceGraph/main.cpp b/Userland/Applets/ResourceGraph/main.cpp
index 69300ccff4..9dc5bf1a50 100644
--- a/Userland/Applets/ResourceGraph/main.cpp
+++ b/Userland/Applets/ResourceGraph/main.cpp
@@ -135,9 +135,8 @@ private:
}
auto file_contents = m_proc_stat->read_all();
- auto json = JsonValue::from_string(file_contents);
- VERIFY(json.has_value());
- auto& obj = json.value().as_object();
+ auto json = JsonValue::from_string(file_contents).release_value_but_fixme_should_propagate_errors();
+ auto const& obj = json.as_object();
total = obj.get("total_time").to_u64();
idle = obj.get("idle_time").to_u64();
return true;
@@ -157,9 +156,8 @@ private:
}
auto file_contents = m_proc_mem->read_all();
- auto json = JsonValue::from_string(file_contents);
- VERIFY(json.has_value());
- auto& obj = json.value().as_object();
+ auto json = JsonValue::from_string(file_contents).release_value_but_fixme_should_propagate_errors();
+ auto const& obj = json.as_object();
unsigned kmalloc_allocated = obj.get("kmalloc_allocated").to_u32();
unsigned kmalloc_available = obj.get("kmalloc_available").to_u32();
auto user_physical_allocated = obj.get("user_physical_allocated").to_u64();