summaryrefslogtreecommitdiff
path: root/src/drivers/WinAPI
diff options
context:
space:
mode:
authorManolo Gouy <Manolo>2016-03-30 15:47:23 +0000
committerManolo Gouy <Manolo>2016-03-30 15:47:23 +0000
commit2ac2b506a8ea6e0656a8bb6f81a8f0c1887256b7 (patch)
tree56e1b03c337a5d5c6b920a35a4ed7bf77ea40e3a /src/drivers/WinAPI
parentfc7b00dad8f84bf0afb58323258100b3c82321a9 (diff)
Begin to rewrite Fl_PostScript.cxx under the driver model.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11474 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Diffstat (limited to 'src/drivers/WinAPI')
-rw-r--r--src/drivers/WinAPI/Fl_WinAPI_System_Driver.H1
-rw-r--r--src/drivers/WinAPI/Fl_WinAPI_System_Driver.cxx10
2 files changed, 11 insertions, 0 deletions
diff --git a/src/drivers/WinAPI/Fl_WinAPI_System_Driver.H b/src/drivers/WinAPI/Fl_WinAPI_System_Driver.H
index dc7e20fc6..67684dc07 100644
--- a/src/drivers/WinAPI/Fl_WinAPI_System_Driver.H
+++ b/src/drivers/WinAPI/Fl_WinAPI_System_Driver.H
@@ -66,6 +66,7 @@ public:
virtual int utf8locale();
virtual unsigned utf8to_mb(const char* src, unsigned srclen, char* dst, unsigned dstlen);
virtual unsigned utf8from_mb(char* dst, unsigned dstlen, const char* src, unsigned srclen);
+ virtual int clocale_printf(FILE *output, const char *format, va_list args);
};
#endif // FL_WINAPI_SYSTEM_DRIVER_H
diff --git a/src/drivers/WinAPI/Fl_WinAPI_System_Driver.cxx b/src/drivers/WinAPI/Fl_WinAPI_System_Driver.cxx
index acb0cc565..13e74914f 100644
--- a/src/drivers/WinAPI/Fl_WinAPI_System_Driver.cxx
+++ b/src/drivers/WinAPI/Fl_WinAPI_System_Driver.cxx
@@ -22,9 +22,11 @@
#include <FL/Fl.H>
#include <FL/fl_utf8.h>
#include <stdio.h>
+#include <stdarg.h>
#include <windows.h>
#include <wchar.h>
#include <process.h>
+#include <locale.h>
#if !defined(FL_DOXYGEN)
const char* fl_local_alt = "Alt";
@@ -430,6 +432,14 @@ unsigned Fl_WinAPI_System_Driver::utf8from_mb(char* dst, unsigned dstlen, const
return ret;
}
+int Fl_WinAPI_System_Driver::clocale_printf(FILE *output, const char *format, va_list args) {
+ char *saved_locale = setlocale(LC_NUMERIC, NULL);
+ setlocale(LC_NUMERIC, "C");
+ int retval = vfprintf(output, format, args);
+ setlocale(LC_NUMERIC, saved_locale);
+ return retval;
+}
+
//
// End of "$Id$".
//