diff --git a/libc/include/stdio.h b/libc/include/stdio.h index 613c54cf..89713ec1 100644 --- a/libc/include/stdio.h +++ b/libc/include/stdio.h @@ -26,6 +26,9 @@ extern "C" extern FILE *stdin; extern FILE *stdout; extern FILE *stderr; + #define stdin stdin + #define stdout stdout + #define stderr stderr FILE *fopen(const char *filename, const char *mode); size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream); @@ -44,8 +47,8 @@ extern "C" int fputc(int c, FILE *stream); int putc(int c, FILE *stream); int fputs(const char *s, FILE *stream); - int putchar(int c); int puts(const char *s); + int putchar(int c); #ifdef __cplusplus } diff --git a/libc/include/stdlib.h b/libc/include/stdlib.h index 38754380..c5d59f07 100644 --- a/libc/include/stdlib.h +++ b/libc/include/stdlib.h @@ -25,7 +25,7 @@ extern "C" double atof(const char *nptr); - extern void perror(const char *__s); + extern void perror(const char *s); #ifdef __cplusplus } diff --git a/libc/src/Makefile b/libc/src/Makefile index b6121cd3..9bda9d6f 100644 --- a/libc/src/Makefile +++ b/libc/src/Makefile @@ -29,6 +29,11 @@ endif CFLAGS := -fPIC -I$(INCLUDE) -I$(INCLUDE2) +ifeq ($(DEBUG), 1) + CFLAGS += -DDEBUG -ggdb3 -O0 -fdiagnostics-color=always -fverbose-asm +# LDFLAGS += -ggdb3 -O0 +endif + build: $(OBJECT_NAME) $(OBJECT_NAME): $(OBJ) diff --git a/libc/src/std/io/file.c b/libc/src/std/io/file.c index 4706ba5f..f5433ef8 100644 --- a/libc/src/std/io/file.c +++ b/libc/src/std/io/file.c @@ -59,11 +59,6 @@ int fprintf(FILE *stream, const char *format, ...) return 0; // sprintf(char *s, const char *format, ...) } -// int printf(const char *format, ...) -// { -// return 0; -// } - void setbuf(FILE *stream, char *buf) { } diff --git a/libc/src/std/io/put.c b/libc/src/std/io/put.c index ad0a900f..479c6380 100644 --- a/libc/src/std/io/put.c +++ b/libc/src/std/io/put.c @@ -4,12 +4,12 @@ int fputc(int c, FILE *stream) { - syscall1(_Print, c); + return syscall1(_Print, c); } int putc(int c, FILE *stream) { - syscall1(_Print, c); + return syscall1(_Print, c); } int fputs(const char *s, FILE *stream) @@ -18,18 +18,18 @@ int fputs(const char *s, FILE *stream) fputc(s[i], stream); } -int putchar(int c) -{ - syscall1(_Print, c); -} - int puts(const char *s) { for (int i = 0; s[i] != '\0'; i++) fputc(s[i], stdout); } -void perror(const char *__s) +int putchar(int c) { - fputs(__s, stderr); + return putc(c, stdout); } + +void perror(const char *s) +{ + fputs(s, stderr); +} \ No newline at end of file