diff --git a/libpsx/include/stdio.h b/libpsx/include/stdio.h index 0e093d9..c63e585 100644 --- a/libpsx/include/stdio.h +++ b/libpsx/include/stdio.h @@ -123,6 +123,7 @@ void clearerr(FILE *stream); int feof(FILE *stream); int ferror(FILE *stream); int fileno(FILE *stream); +void perror(const char *s); #define getc(f) fgetc(f) diff --git a/libpsx/src/libc/error.c b/libpsx/src/libc/error.c index ab5fe5b..2cfd7e8 100644 --- a/libpsx/src/libc/error.c +++ b/libpsx/src/libc/error.c @@ -114,3 +114,8 @@ int strerror_r(int errnum, char *strerrbuf, size_t buflen) snprintf(strerrbuf, buflen, "Unknown error %d", errnum); return -1; } + +void perror(const char *s) +{ + fprintf(stderr, "%s: %s\n", s, strerror(errno)); +}