summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorManolo Gouy <Manolo>2016-04-12 06:45:35 +0000
committerManolo Gouy <Manolo>2016-04-12 06:45:35 +0000
commitb9b313538c278357171d547bdac751832916c029 (patch)
treeccdea28ed4209e18a2cbd17203e886307a9846a0 /src
parent5273076bb01d38a9662ae01b842dfa1bd28dd366 (diff)
Reorganize the implementations of the virtual member function Fl_System_Driver::getenv()
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11585 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Diffstat (limited to 'src')
-rw-r--r--src/Fl_System_Driver.cxx18
-rw-r--r--src/drivers/Posix/Fl_Posix_System_Driver.H1
-rw-r--r--src/drivers/X11/Fl_X11_System_Driver.H1
-rw-r--r--src/drivers/X11/Fl_X11_System_Driver.cxx9
4 files changed, 11 insertions, 18 deletions
diff --git a/src/Fl_System_Driver.cxx b/src/Fl_System_Driver.cxx
index eacc9fbf3..9c34194fe 100644
--- a/src/Fl_System_Driver.cxx
+++ b/src/Fl_System_Driver.cxx
@@ -219,10 +219,6 @@ int Fl_System_Driver::XParseGeometry(const char* string, int* x, int* y,
return (mask);
}
-char *Fl_System_Driver::getenv(const char *v) {
- return ::getenv(v);
-}
-
unsigned Fl_System_Driver::utf8towc(const char* src, unsigned srclen, wchar_t* dst, unsigned dstlen) {
const char* p = src;
const char* e = src+srclen;
@@ -303,20 +299,6 @@ J1:
return count;
}
-int Fl_System_Driver::utf8locale() {
- static int ret = 2;
- if (ret == 2) {
- char* s;
- ret = 1; // assume UTF-8 if no locale
- if (((s = getenv("LC_CTYPE")) && *s) ||
- ((s = getenv("LC_ALL")) && *s) ||
- ((s = getenv("LANG")) && *s)) {
- ret = (strstr(s,"utf") || strstr(s,"UTF"));
- }
- }
- return ret;
-}
-
unsigned Fl_System_Driver::utf8to_mb(const char* src, unsigned srclen, char* dst, unsigned dstlen) {
wchar_t lbuf[1024];
wchar_t* buf = lbuf;
diff --git a/src/drivers/Posix/Fl_Posix_System_Driver.H b/src/drivers/Posix/Fl_Posix_System_Driver.H
index ad41d5f83..79d4c3562 100644
--- a/src/drivers/Posix/Fl_Posix_System_Driver.H
+++ b/src/drivers/Posix/Fl_Posix_System_Driver.H
@@ -52,6 +52,7 @@ public:
virtual int open(const char* f, int oflags, int pmode) {
return pmode == -1 ? ::open(f, oflags) : ::open(f, oflags, pmode);
}
+ virtual char *getenv(const char *v) { return ::getenv(v); }
virtual int putenv(char* v) {return ::putenv(v);}
virtual FILE *fopen(const char* f, const char *mode) {return ::fopen(f, mode);}
virtual int system(const char* cmd) {return ::system(cmd);}
diff --git a/src/drivers/X11/Fl_X11_System_Driver.H b/src/drivers/X11/Fl_X11_System_Driver.H
index a36c3214c..0b309dc34 100644
--- a/src/drivers/X11/Fl_X11_System_Driver.H
+++ b/src/drivers/X11/Fl_X11_System_Driver.H
@@ -42,6 +42,7 @@ public:
virtual char *preference_rootnode(Fl_Preferences *prefs, Fl_Preferences::Root root, const char *vendor,
const char *application);
virtual int preferences_need_protection_check() {return 1;}
+ virtual int utf8locale();
};
#endif /* FL_X11_SYSTEM_DRIVER_H */
diff --git a/src/drivers/X11/Fl_X11_System_Driver.cxx b/src/drivers/X11/Fl_X11_System_Driver.cxx
index 11ed6488f..08f3f1e14 100644
--- a/src/drivers/X11/Fl_X11_System_Driver.cxx
+++ b/src/drivers/X11/Fl_X11_System_Driver.cxx
@@ -499,6 +499,15 @@ int Fl_X11_System_Driver::filename_list(const char *d, dirent ***list, int (*sor
return n;
}
+int Fl_X11_System_Driver::utf8locale() {
+ char *s;
+ static int ret = ((s = ::getenv("LC_CTYPE")) && *s) ||
+ ((s = ::getenv("LC_ALL")) && *s) ||
+ ((s = ::getenv("LANG")) && *s)
+ ? 1 : 0;
+ return ret;
+}
+
//
// End of "$Id: quartz.H 11017 2016-01-20 21:40:12Z matt $".
//