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/WinAPI/Fl_WinAPI_System_Driver.H | 3 +++ src/drivers/WinAPI/Fl_WinAPI_System_Driver.cxx | 3 ++- 2 files changed, 5 insertions(+), 1 deletion(-) (limited to 'src/drivers/WinAPI') diff --git a/src/drivers/WinAPI/Fl_WinAPI_System_Driver.H b/src/drivers/WinAPI/Fl_WinAPI_System_Driver.H index 91b230d5f..049e6c114 100644 --- a/src/drivers/WinAPI/Fl_WinAPI_System_Driver.H +++ b/src/drivers/WinAPI/Fl_WinAPI_System_Driver.H @@ -24,6 +24,7 @@ #include "../../Fl_System_Driver.H" #include +#include // strdup /* Move everything here that manages the system interface. @@ -34,6 +35,7 @@ - directory and file access - system time and system timer - multithreading + - string management */ class Fl_WinAPI_System_Driver : public Fl_System_Driver @@ -116,6 +118,7 @@ public: virtual void remove_fd(int, int when); virtual void remove_fd(int); virtual void gettime(time_t *sec, int *usec); + virtual char* strdup(const char *s) { return ::_strdup(s); } }; #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 592e192e3..d37ec62ff 100644 --- a/src/drivers/WinAPI/Fl_WinAPI_System_Driver.cxx +++ b/src/drivers/WinAPI/Fl_WinAPI_System_Driver.cxx @@ -18,6 +18,7 @@ #include "Fl_WinAPI_System_Driver.H" #include #include +#include // fl_strdup() #include #include #include @@ -548,7 +549,7 @@ Fl_WinAPI_System_Driver::filename_relative(char *to, // O - Relative filename char *newslash; // Directory separator const char *slash; // Directory separator char *cwd = 0L, *cwd_buf = 0L; - if (base) cwd = cwd_buf = strdup(base); + if (base) cwd = cwd_buf = fl_strdup(base); // return if "from" is not an absolute path if (from[0] == '\0' || -- cgit v1.2.3