diff options
Diffstat (limited to 'src/stdio.c')
| -rw-r--r-- | src/stdio.c | 37 |
1 files changed, 0 insertions, 37 deletions
diff --git a/src/stdio.c b/src/stdio.c deleted file mode 100644 index e93dea1..0000000 --- a/src/stdio.c +++ /dev/null @@ -1,37 +0,0 @@ -#include"types.h" -#include"string.h" -#include<stdarg.h> - -void terminal_putchar(char c); -void terminal_writestring(char* data); -void terminal_writeint(uint32_t data); -void terminal_writefloat(double num); - -void printf(char *str, ...) -{ - size_t count=0; - for(size_t i=0;str[i]!='\0';i++) if(str[i]=='%') count++; - - va_list list; - va_start(list, str); - - for(size_t i=0;str[i]!='\0';i++) - { - if(str[i]=='%') - { - i++; - if(str[i]=='c') terminal_putchar((char)va_arg(list,int)); - else if(str[i]=='s') terminal_writestring(va_arg(list,char*)); - else if(str[i]=='d') terminal_writeint(va_arg(list,int)); - else if(str[i]=='f') terminal_writefloat(va_arg(list,double)); - else - { - terminal_writestring("wrong format using print function\n"); - return; - } - } - else terminal_putchar(str[i]); - } - - va_end(list); -} |
