fix all implicit conversion between signed/unsigned pointers
[musl] / src / stdio / vfprintf.c
index 5e19acc..b6bb3bc 100644 (file)
@@ -149,7 +149,7 @@ static void pop_arg(union arg *arg, int type, va_list *ap)
 
 static void out(FILE *f, const char *s, size_t l)
 {
-       __fwritex(s, l, f);
+       __fwritex((void *)s, l, f);
 }
 
 static void pad(FILE *f, char c, int w, int l, int fl)
@@ -526,13 +526,13 @@ static int printf_core(FILE *f, const char *fmt, va_list *ap, union arg *nl_arg,
                switch(t) {
                case 'n':
                        switch(ps) {
-                       case BARE: *(int *)arg.p = l;
-                       case LPRE: *(long *)arg.p = l;
-                       case LLPRE: *(long long *)arg.p = l;
-                       case HPRE: *(unsigned short *)arg.p = l;
-                       case HHPRE: *(unsigned char *)arg.p = l;
-                       case ZTPRE: *(size_t *)arg.p = l;
-                       case JPRE: *(uintmax_t *)arg.p = l;
+                       case BARE: *(int *)arg.p = cnt; break;
+                       case LPRE: *(long *)arg.p = cnt; break;
+                       case LLPRE: *(long long *)arg.p = cnt; break;
+                       case HPRE: *(unsigned short *)arg.p = cnt; break;
+                       case HHPRE: *(unsigned char *)arg.p = cnt; break;
+                       case ZTPRE: *(size_t *)arg.p = cnt; break;
+                       case JPRE: *(uintmax_t *)arg.p = cnt; break;
                        }
                        continue;
                case 'p':