another possible impedance mismatch in genPlus/genMinus
[fw/sdcc] / device / lib / printf_large.c
index 8257d11cea0d7d3789675ba5625a69e6b8679af3..6697ca96e0cc6b51b8139fdf6de1be708af5b023 100644 (file)
 #include <stdarg.h>
 #include <stdio.h>
 
-int printf (const char *format, ...) reentrant
+#if defined(SDCC_MODEL_LARGE) || defined(SDCC_MODEL_FLAT24)
+#define XSPEC xdata
+#else
+#define XSPEC
+#endif
+
+int printf (XSPEC const char *format, ...) reentrant
 {
   va_list arg;
   int done;
 
   va_start (arg, format);
-  done = vprintf ((char *)0,format, arg);
+  done = vprintf (format, arg);
   va_end (arg);
 
   return done;
 }
 
-int sprintf (const char *buf, const char *format, ...) reentrant
+int sprintf (const char *buf, XSPEC const char *format, ...) reentrant
 {
   va_list arg;
   int done;