jankos/stlio.c
2019-10-14 02:27:31 -07:00

63 lines
1.1 KiB
C

#include "stlio.h"
static u8 COLOR_FG = Green;
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 write(const char* buffer, const u32 size) {
u32 i;
for(i = 0; i < size; i++) {
// cheesy but whatever
if(buffer[i] == '\n') {
frame_buffer_newline();
}
else {
write_char(buffer[i]);
}
}
return i;
}
u32 read(const u32 n) {
// read n bytes from keyboard
return n;
}
void printf(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++) {
if(fmt[i] == '\n') {
frame_buffer_newline();
}
else {
write_char(fmt[i]);
}
}
}
u32 memcpy(u8* src, u8* dest, const u32 size) {
u32 i;
for(i =0; i < size+1;i++) {
dest[i] = src[i];
}
return i;
}
u32 memset(u8* buf, const u8 val, const u32 size) {
u32 i;
for(i=0;i<size;i++) {
buf[i] = val;
}
return i;
}