Kernel: Add KString::must_{..} factory methods

There are a bunch of places like drivers which for all intense and
purposes can't really fail allocation during boot, and if they do
fail we should crash immediately.

This change adds `KString::must_create_uninitialized(..)` as well as
`KString::must_create(..)` for use during early boot initialization of
the Kernel. They enforce that they are only used during early boot.
This commit is contained in:
Brian Gianforcaro 2021-05-31 01:51:09 -07:00 committed by Ali Mohammad Pur
commit d838a02e74
Notes: sideshowbarker 2024-07-18 17:08:00 +09:00
3 changed files with 27 additions and 0 deletions

View file

@ -14,7 +14,9 @@ namespace Kernel {
class KString {
public:
static OwnPtr<KString> try_create_uninitialized(size_t, char*&);
static NonnullOwnPtr<KString> must_create_uninitialized(size_t, char*&);
static OwnPtr<KString> try_create(StringView const&);
static NonnullOwnPtr<KString> must_create(StringView const&);
OwnPtr<KString> try_clone() const;