From 556dfc1aa97b1f72792e46164d80601cd93c2b20 Mon Sep 17 00:00:00 2001 From: Amlal El Mahrouss Date: Sat, 7 Mar 2026 05:48:47 +0100 Subject: [CHORE] Filesystem and panic dump improvements. Signed-off-by: Amlal El Mahrouss --- src/kernel/NeKit/KString.h | 12 +++++++++--- src/kernel/NeKit/KernelPanic.h | 7 ++++++- 2 files changed, 15 insertions(+), 4 deletions(-) (limited to 'src/kernel/NeKit') diff --git a/src/kernel/NeKit/KString.h b/src/kernel/NeKit/KString.h index 96063d39..3c12c03c 100644 --- a/src/kernel/NeKit/KString.h +++ b/src/kernel/NeKit/KString.h @@ -1,4 +1,4 @@ -// Copyright 2024-2025, Amlal El Mahrouss (amlal@nekernel.org) +// Copyright 2024-2026, Amlal El Mahrouss (amlal@nekernel.org) // Licensed under the Apache License, Version 2.0 (see LICENSE file) // Official repository: https://github.com/ne-foss-org/nekernel @@ -22,6 +22,8 @@ class KBasicString final { fDataSz = MinSz; fData = new CharKind[fDataSz]; + if (!fData) return; + MUST_PASS(fData); rt_set_memory(fData, 0, fDataSz); @@ -29,6 +31,8 @@ class KBasicString final { KBasicString(const CharKind* In) : fDataSz(oe_string_len(In)) { fData = new CharKind[fDataSz]; + if (!fData) return; + MUST_PASS(fData); rt_set_memory(fData, 0, fDataSz); @@ -39,6 +43,8 @@ class KBasicString final { MUST_PASS(fDataSz > 1); fData = new CharKind[fDataSz]; + if (!fData) return; + MUST_PASS(fData); rt_set_memory(fData, 0, fDataSz); @@ -74,8 +80,8 @@ class KBasicString final { private: CharKind* fData{nullptr}; - Size fDataSz{0}; - Size fCur{0}; + SizeT fDataSz{}; + SizeT fCur{}; friend class KStringBuilder; }; diff --git a/src/kernel/NeKit/KernelPanic.h b/src/kernel/NeKit/KernelPanic.h index 3b5dd698..940739f4 100644 --- a/src/kernel/NeKit/KernelPanic.h +++ b/src/kernel/NeKit/KernelPanic.h @@ -1,4 +1,4 @@ -// Copyright 2024-2025, Amlal El Mahrouss (amlal@nekernel.org) +// Copyright 2024-2026, Amlal El Mahrouss (amlal@nekernel.org) // Licensed under the Apache License, Version 2.0 (see LICENSE file) // Official repository: https://github.com/ne-foss-org/nekernel @@ -60,8 +60,13 @@ enum RUNTIME_CHECK { typedef enum RUNTIME_CHECK RTL_RUNTIME_CHECK; namespace Kernel { + +/// @brief Raises a runtime-check for the system, it failing, the system will raise a panic. void ke_runtime_check(bool expr, const Char* file, const Char* line); + +/// @brief Stops the system from running when unrecoverable. void ke_panic(const Int32& id, const Char* message = nullptr); + } // namespace Kernel #endif -- cgit v1.2.3