summaryrefslogtreecommitdiff
path: root/src/drivers/Posix
diff options
context:
space:
mode:
Diffstat (limited to 'src/drivers/Posix')
-rw-r--r--src/drivers/Posix/Fl_Posix_System_Driver.H1
-rw-r--r--src/drivers/Posix/Fl_Posix_System_Driver.cxx10
2 files changed, 11 insertions, 0 deletions
diff --git a/src/drivers/Posix/Fl_Posix_System_Driver.H b/src/drivers/Posix/Fl_Posix_System_Driver.H
index 765d1100c..dc5fe83a2 100644
--- a/src/drivers/Posix/Fl_Posix_System_Driver.H
+++ b/src/drivers/Posix/Fl_Posix_System_Driver.H
@@ -63,6 +63,7 @@ public:
virtual int unlink(const char* f) {return ::unlink(f);}
virtual int rmdir(const char* f) {return ::rmdir(f);}
virtual int rename(const char* f, const char *n) {return ::rename(f, n);}
+ virtual int clocale_printf(FILE *output, const char *format, va_list args);
};
#endif // FL_POSIX_SYSTEM_DRIVER_H
diff --git a/src/drivers/Posix/Fl_Posix_System_Driver.cxx b/src/drivers/Posix/Fl_Posix_System_Driver.cxx
index ee3c70fe4..2d7abb575 100644
--- a/src/drivers/Posix/Fl_Posix_System_Driver.cxx
+++ b/src/drivers/Posix/Fl_Posix_System_Driver.cxx
@@ -20,6 +20,11 @@
#include "Fl_Posix_System_Driver.H"
#include <FL/Fl.H>
#include <X11/Xlib.h>
+#include <locale.h>
+#include <stdio.h>
+#ifdef __APPLE_CC__ // allows Darwin + X11
+#include <xlocale.h>
+#endif
extern XIC fl_xim_ic; // in Fl_x.cxx
@@ -63,6 +68,11 @@ void Fl_Posix_System_Driver::compose_reset()
if (fl_xim_ic) XmbResetIC(fl_xim_ic);
}
+int Fl_Posix_System_Driver::clocale_printf(FILE *output, const char *format, va_list args) {
+ static locale_t postscript_locale = newlocale(LC_NUMERIC_MASK, "C", (locale_t)0);
+ return vfprintf_l(output, postscript_locale, format, args);
+}
+
//
// End of "$Id$".
//