ref: 46faca54edf1eda39a45f540697196074a00c779
parent: 1e315f896d9496e22546304ef8b2de74b9451fc4
author: Ori Bernstein <ori@eigenstate.org>
date: Mon Aug 10 15:36:09 EDT 2020
stdio.h: correct return type of putc The putc macro is specified as returning an int, but our type conversion rules turned it into a uint. Put in the appropriate cast to make the type what we want.
--- a/sys/include/ape/stdio.h
+++ b/sys/include/ape/stdio.h
@@ -106,7 +106,7 @@
#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):(*(unsigned char*)(f)->wp++=(c)&_IO_CHMASK))
+#define putc(c, f) ((f)->wp>=(f)->rp?_IO_putc(c, f):(int)(*(unsigned char*)(f)->wp++=(c)&_IO_CHMASK))
extern int _IO_putc(int, FILE *);
extern int putchar(int);
#define putchar(c) putc(c, stdout)
--- a/sys/include/stdio.h
+++ b/sys/include/stdio.h
@@ -92,7 +92,7 @@
#define getchar() getc(stdin)
char *gets(char *);
int putc(int, FILE *);
-#define putc(c, f) ((f)->wp>=(f)->rp?_IO_putc(c, f):(*(unsigned char*)(f)->wp++=(c)&_IO_CHMASK))
+#define putc(c, f) ((f)->wp>=(f)->rp?_IO_putc(c, f):(int)(*(unsigned char*)(f)->wp++=(c)&_IO_CHMASK))
int _IO_putc(int, FILE *);
int putchar(int);
#define putchar(c) putc(c, stdout)