From 2141c63628a831d3f53dad7035c94028f8d0d629 Mon Sep 17 00:00:00 2001 From: Greg Ercolano Date: Tue, 21 Jul 2020 20:15:41 -0700 Subject: Implement + deploy fl_strdup() --- src/drivers/Posix/Fl_Posix_System_Driver.H | 2 ++ src/drivers/Posix/Fl_Posix_System_Driver.cxx | 3 ++- 2 files changed, 4 insertions(+), 1 deletion(-) (limited to 'src/drivers/Posix') diff --git a/src/drivers/Posix/Fl_Posix_System_Driver.H b/src/drivers/Posix/Fl_Posix_System_Driver.H index 55255b83f..3f4cf72c8 100644 --- a/src/drivers/Posix/Fl_Posix_System_Driver.H +++ b/src/drivers/Posix/Fl_Posix_System_Driver.H @@ -38,6 +38,7 @@ - directory and file access - system time and system timer - multithreading + - string management */ class Fl_Posix_System_Driver : public Fl_System_Driver @@ -74,6 +75,7 @@ public: virtual const char *home_directory_name() { return ::getenv("HOME"); } virtual int dot_file_hidden() {return 1;} virtual void gettime(time_t *sec, int *usec); + virtual char* strdup(const char *s) {return ::strdup(s);} }; #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 d39ea6c82..9f255f3d0 100644 --- a/src/drivers/Posix/Fl_Posix_System_Driver.cxx +++ b/src/drivers/Posix/Fl_Posix_System_Driver.cxx @@ -20,6 +20,7 @@ #include #include #include +#include #include #include #include @@ -65,7 +66,7 @@ void *Fl_Posix_System_Driver::dlopen(const char *filename) ptr = double_dlopen(filename); # ifdef __APPLE_CC__ // allows testing on Darwin + XQuartz + fink if (!ptr) { - char *f_dylib = strdup(filename); + char *f_dylib = fl_strdup(filename); strcpy(strrchr(f_dylib, '.'), ".dylib"); char path[FL_PATH_MAX]; sprintf(path, "/sw/lib/%s", f_dylib); -- cgit v1.2.3