fixed endianess bug in printf
[mdlife] / src / libc / stdio.c
index 80da880..5950503 100644 (file)
@@ -1,5 +1,7 @@
 #include <stdio.h>
 #include <string.h>
+#include <stdlib.h>
+#include <stdarg.h>
 #include <ctype.h>
 #include "debug.h"
 
@@ -105,7 +107,7 @@ static int intern_printf(int out, char *buf, size_t sz, const char *fmt, va_list
        int base = 10;
        int alt = 0;
        int fwidth = 0;
-       int padc = ' ';
+       char padc = ' ';
        int sign = 0;
        int left_align = 0;
        int hex_caps = 0;
@@ -173,7 +175,7 @@ static int intern_printf(int out, char *buf, size_t sz, const char *fmt, va_list
                                                padc = ' ';
                                        }
                                        for(i=slen; i<fwidth; i++) {
-                                               bwrite(out, BUF(buf), SZ(sz), (char*)&padc, 1);
+                                               bwrite(out, BUF(buf), SZ(sz), &padc, 1);
                                                cnum++;
                                        }
                                        if(!left_align) {
@@ -204,7 +206,7 @@ static int intern_printf(int out, char *buf, size_t sz, const char *fmt, va_list
                                                padc = ' ';
                                        }
                                        for(i=slen; i<fwidth; i++) {
-                                               bwrite(out, BUF(buf), SZ(sz), (char*)&padc, 1);
+                                               bwrite(out, BUF(buf), SZ(sz), &padc, 1);
                                                cnum++;
                                        }
                                        if(!left_align) {