From fb1b7c868bfccb6faa192c44b8495af85e18815e Mon Sep 17 00:00:00 2001 From: shockrahwow Date: Sun, 27 Oct 2019 21:21:59 -0700 Subject: [PATCH] srlen now respects const qualifiers --- stlio.c | 14 +++++++++----- stlio.h | 4 ++-- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/stlio.c b/stlio.c index 93ba317..73e0431 100644 --- a/stlio.c +++ b/stlio.c @@ -6,10 +6,14 @@ static u8 COLOR_BG = White; #define write_char(c) write_cell_fb(c, COLOR_FG, COLOR_BG) // We are assuming null-terminated strings here -u32 strlen(char* buffer) { - char* c; - for(c = buffer; *c != '\0'; c++); // LULW - return (u32)(c - buffer); +u32 strlen(const char* buffer) { + u32 i = 0; + char c = buffer[i]; + while(c != '\0') { + i++; + c = buffer[i]; + } + return i; } u32 write(const char* buffer, const u32 size) { @@ -32,7 +36,7 @@ u32 read(const u32 n) { } -void printf(char* fmt) { +void printf(const char* fmt) { // Variadic fuller version of print on seperate branch but its nowhere near stable/ready/working u32 size = strlen(fmt); for(u32 i = 0; i < size;i++) { diff --git a/stlio.h b/stlio.h index 7912a39..a99400b 100644 --- a/stlio.h +++ b/stlio.h @@ -3,11 +3,11 @@ // Frame buffer driver // NOTE: not getting computed at compile time so we always have a call -u32 strlen(char*); +u32 strlen(const char*); u32 write(const char*, const u32); u32 read(const u32); -void printf(char*); +void printf(const char*);