From 3cc1f7a687d5b1828b5502bc76ce1cc282227fd5 Mon Sep 17 00:00:00 2001 From: Jonas 'Sortie' Termansen Date: Wed, 7 Mar 2012 15:51:25 +0100 Subject: [PATCH] Made fgetc(3) and fputc(3) use unsigned char internally. --- libmaxsi/file.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/libmaxsi/file.c b/libmaxsi/file.c index e1eac989..1ae41826 100644 --- a/libmaxsi/file.c +++ b/libmaxsi/file.c @@ -196,14 +196,15 @@ int fcloseall(void) int fgetc(FILE* fp) { - char c; - if ( fread(&c, 1, sizeof(char), fp) < sizeof(char) ) { return EOF; } + unsigned char c; + if ( fread(&c, 1, sizeof(c), fp) < sizeof(c) ) { return EOF; } return c; } -int fputc(int c, FILE* fp) +int fputc(int cint, FILE* fp) { - if ( fwrite(&c, 1, sizeof(char), fp) < sizeof(char) ) { return EOF; } + unsigned char c = (unsigned char) cint; + if ( fwrite(&c, 1, sizeof(c), fp) < sizeof(c) ) { return EOF; } return c; }