From 2d59d75e3a4faa51bfc146f70aea7734cd8bb9ef Mon Sep 17 00:00:00 2001 From: Ori Bernstein Date: Sun, 19 Jul 2020 14:14:14 -0700 Subject: [PATCH] stdio: fix warnings, make code more standard Masking with _IO_CHMASK after the assignment causes a warning. We're better off masking before, but casting the assignment to prevent sign extension. --- sys/include/ape/stdio.h | 2 +- sys/include/stdio.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/include/ape/stdio.h b/sys/include/ape/stdio.h index b05f41e69..c961a5da1 100644 --- a/sys/include/ape/stdio.h +++ b/sys/include/ape/stdio.h @@ -106,7 +106,7 @@ extern int getchar(void); #define getchar() getc(stdin) extern char *gets(char *); extern int putc(int, FILE *); -#define putc(c, f) ((f)->wp>=(f)->rp?_IO_putc(c, f):((*(f)->wp++=(c))&_IO_CHMASK)) +#define putc(c, f) ((f)->wp>=(f)->rp?_IO_putc(c, f):(*(unsigned char*)(f)->wp++=(c)&_IO_CHMASK)) extern int _IO_putc(int, FILE *); extern int putchar(int); #define putchar(c) putc(c, stdout) diff --git a/sys/include/stdio.h b/sys/include/stdio.h index 8ed8b43a4..39f3b73e7 100644 --- a/sys/include/stdio.h +++ b/sys/include/stdio.h @@ -92,7 +92,7 @@ int getchar(void); #define getchar() getc(stdin) char *gets(char *); int putc(int, FILE *); -#define putc(c, f) ((f)->wp>=(f)->rp?_IO_putc(c, f):((*(f)->wp++=(c))&_IO_CHMASK)) +#define putc(c, f) ((f)->wp>=(f)->rp?_IO_putc(c, f):(*(unsigned char*)(f)->wp++=(c)&_IO_CHMASK)) int _IO_putc(int, FILE *); int putchar(int); #define putchar(c) putc(c, stdout)