summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/Fl_File_Browser.cxx2
-rw-r--r--src/Fl_System_Driver.cxx4
-rw-r--r--src/drivers/WinAPI/Fl_WinAPI_System_Driver.H2
-rw-r--r--src/drivers/WinAPI/Fl_WinAPI_System_Driver.cxx8
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);
}