diff options
| author | Amlal <amlal.elmahrouss@icloud.com> | 2025-02-17 10:30:20 +0100 |
|---|---|---|
| committer | Amlal <amlal.elmahrouss@icloud.com> | 2025-02-17 10:30:20 +0100 |
| commit | 136786bdf1a00026db97c53337c58625679334d0 (patch) | |
| tree | 7e02a291073a590563609b2328c270c1547a517d /dev/Kernel/src/KString.cc | |
| parent | 060d2f7eeffb8b8a590ae5a319f0524b475fc4ab (diff) | |
KString.cc: Fix StringBuilder::Format method.
Signed-off-by: Amlal <amlal.elmahrouss@icloud.com>
Diffstat (limited to 'dev/Kernel/src/KString.cc')
| -rw-r--r-- | dev/Kernel/src/KString.cc | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/dev/Kernel/src/KString.cc b/dev/Kernel/src/KString.cc index 590db984..a30d23fc 100644 --- a/dev/Kernel/src/KString.cc +++ b/dev/Kernel/src/KString.cc @@ -165,18 +165,19 @@ namespace Kernel if (!ret) return ("?"); - for (Size idx = 0; idx < rt_string_len(fmt); ++idx) + const auto len = rt_string_len(fmt); + + for (Size idx = 0; idx < len; ++idx) { - if (fmt[idx] == '%') + if (fmt[idx] == '%' && idx < rt_string_len(fmt) && fmt[idx] == 's') { Size result_cnt = idx; + for (Size y_idx = 0; y_idx < rt_string_len(fmt2); ++y_idx) { ret[result_cnt] = fmt2[y_idx]; ++result_cnt; } - - break; } ret[idx] = fmt[idx]; |
