Fix error in WIN32 code when rewriting Fl_File_Browser.cxx for the driver model.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11572 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
This commit is contained in:
Manolo Gouy
2016-04-10 17:56:53 +00:00
parent faaa2b6d1e
commit 7e20aa06f9
5 changed files with 9 additions and 9 deletions
+1 -1
View File
@@ -135,7 +135,7 @@ public:
// implement to support Fl_File_Browser::load()
virtual int file_browser_load_filesystem(Fl_File_Browser *browser, char *filename, Fl_File_Icon *icon) {return 0;}
// the default implementation of file_browser_load_directory() should be enough
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);
// implement to support Fl_Preferences
virtual void newUUID(char *uuidBuffer) { uuidBuffer[0] = 0; }
// implement to support Fl_Preferences
+1 -1
View File
@@ -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);
+2 -2
View File
@@ -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);
}
+1 -1
View File
@@ -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);
@@ -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);
}