diff options
| author | Manolo Gouy <Manolo> | 2016-04-12 06:45:35 +0000 |
|---|---|---|
| committer | Manolo Gouy <Manolo> | 2016-04-12 06:45:35 +0000 |
| commit | b9b313538c278357171d547bdac751832916c029 (patch) | |
| tree | ccdea28ed4209e18a2cbd17203e886307a9846a0 /src | |
| parent | 5273076bb01d38a9662ae01b842dfa1bd28dd366 (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.cxx | 18 | ||||
| -rw-r--r-- | src/drivers/Posix/Fl_Posix_System_Driver.H | 1 | ||||
| -rw-r--r-- | src/drivers/X11/Fl_X11_System_Driver.H | 1 | ||||
| -rw-r--r-- | src/drivers/X11/Fl_X11_System_Driver.cxx | 9 |
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 $". // |
