diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/Fl_File_Browser.cxx | 2 | ||||
| -rw-r--r-- | src/Fl_System_Driver.cxx | 4 | ||||
| -rw-r--r-- | src/drivers/WinAPI/Fl_WinAPI_System_Driver.H | 2 | ||||
| -rw-r--r-- | src/drivers/WinAPI/Fl_WinAPI_System_Driver.cxx | 8 |
4 files changed, 8 insertions, 8 deletions
diff --git a/src/Fl_File_Browser.cxx b/src/Fl_File_Browser.cxx index 024fa7d5b..14f64f8be 100644 --- a/src/Fl_File_Browser.cxx +++ b/src/Fl_File_Browser.cxx @@ -415,7 +415,7 @@ Fl_File_Browser::load(const char *directory,// I - Directory to load // // Build the file list... // - num_files = Fl::system_driver()->file_browser_load_directory(directory_, filename, &files, sort); + num_files = Fl::system_driver()->file_browser_load_directory(directory_, filename, sizeof(filename), &files, sort); if (num_files <= 0) return (0); diff --git a/src/Fl_System_Driver.cxx b/src/Fl_System_Driver.cxx index fa903e2bd..de8b5e363 100644 --- a/src/Fl_System_Driver.cxx +++ b/src/Fl_System_Driver.cxx @@ -417,8 +417,8 @@ int Fl_System_Driver::filename_expand(char *to,int tolen, const char *from) { return ret; } -int Fl_System_Driver::file_browser_load_directory(const char *directory, char *filename, dirent ***pfiles, - Fl_File_Sort_F *sort) +int Fl_System_Driver::file_browser_load_directory(const char *directory, char *filename, + size_t name_size, dirent ***pfiles, Fl_File_Sort_F *sort) { return filename_list(directory, pfiles, sort); } diff --git a/src/drivers/WinAPI/Fl_WinAPI_System_Driver.H b/src/drivers/WinAPI/Fl_WinAPI_System_Driver.H index 2712942f8..e5bfb41b8 100644 --- a/src/drivers/WinAPI/Fl_WinAPI_System_Driver.H +++ b/src/drivers/WinAPI/Fl_WinAPI_System_Driver.H @@ -78,7 +78,7 @@ public: virtual int open_uri(const char *uri, char *msg, int msglen); virtual int use_recent_tooltip_fix() {return 1;} virtual int file_browser_load_filesystem(Fl_File_Browser *browser, char *filename, Fl_File_Icon *icon); - virtual int file_browser_load_directory(const char *directory, char *filename, dirent ***pfiles, Fl_File_Sort_F *sort); + virtual int file_browser_load_directory(const char *directory, char *filename, size_t name_size, dirent ***pfiles, Fl_File_Sort_F *sort); virtual void newUUID(char *uuidBuffer); virtual char *preference_rootnode(Fl_Preferences *prefs, Fl_Preferences::Root root, const char *vendor, const char *application); diff --git a/src/drivers/WinAPI/Fl_WinAPI_System_Driver.cxx b/src/drivers/WinAPI/Fl_WinAPI_System_Driver.cxx index 5c4d52421..9df5b2f71 100644 --- a/src/drivers/WinAPI/Fl_WinAPI_System_Driver.cxx +++ b/src/drivers/WinAPI/Fl_WinAPI_System_Driver.cxx @@ -717,16 +717,16 @@ int Fl_WinAPI_System_Driver::file_browser_load_filesystem(Fl_File_Browser *brows return num_files; } -int Fl_WinAPI_System_Driver::file_browser_load_directory(const char *directory, char *filename, dirent ***pfiles, - Fl_File_Sort_F *sort) +int Fl_WinAPI_System_Driver::file_browser_load_directory(const char *directory, char *filename, + size_t name_size, dirent ***pfiles, Fl_File_Sort_F *sort) { - strlcpy(filename, directory, sizeof(filename)); + strlcpy(filename, directory, name_size); int i = (int) (strlen(filename) - 1); if (i == 2 && filename[1] == ':' && (filename[2] == '/' || filename[2] == '\\')) filename[2] = '/'; else if (filename[i] != '/' && filename[i] != '\\') - strlcat(filename, "/", sizeof(filename)); + strlcat(filename, "/", name_size); return filename_list(filename, pfiles, sort); } |
