srlen now respects const qualifiers

This commit is contained in:
shockrahwow 2019-10-27 21:21:59 -07:00
parent 5bc285b7ca
commit fb1b7c868b
2 changed files with 11 additions and 7 deletions

14
stlio.c
View File

@ -6,10 +6,14 @@ static u8 COLOR_BG = White;
#define write_char(c) write_cell_fb(c, COLOR_FG, COLOR_BG) #define write_char(c) write_cell_fb(c, COLOR_FG, COLOR_BG)
// We are assuming null-terminated strings here // We are assuming null-terminated strings here
u32 strlen(char* buffer) { u32 strlen(const char* buffer) {
char* c; u32 i = 0;
for(c = buffer; *c != '\0'; c++); // LULW char c = buffer[i];
return (u32)(c - buffer); while(c != '\0') {
i++;
c = buffer[i];
}
return i;
} }
u32 write(const char* buffer, const u32 size) { 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 // Variadic fuller version of print on seperate branch but its nowhere near stable/ready/working
u32 size = strlen(fmt); u32 size = strlen(fmt);
for(u32 i = 0; i < size;i++) { for(u32 i = 0; i < size;i++) {

View File

@ -3,11 +3,11 @@
// Frame buffer driver // Frame buffer driver
// NOTE: not getting computed at compile time so we always have a call // 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 write(const char*, const u32);
u32 read(const u32); u32 read(const u32);
void printf(char*); void printf(const char*);