diff options
| author | Manolo Gouy <Manolo> | 2016-10-19 08:40:41 +0000 |
|---|---|---|
| committer | Manolo Gouy <Manolo> | 2016-10-19 08:40:41 +0000 |
| commit | da276e6efa91900dac5c800f2a71d6db9a7563d8 (patch) | |
| tree | c9998976b6dba24c4d561a40c7038d841ba468e2 | |
| parent | ec41e1a59b74d8dff34ae5ce1fbf3fdbd34ab240 (diff) | |
Add one more argument to virtual Fl_System_Driver::file_browser_load_filesystem() giving length of the filename argument
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@12050 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
| -rw-r--r-- | FL/Fl_System_Driver.H | 2 | ||||
| -rw-r--r-- | src/Fl_File_Browser.cxx | 2 | ||||
| -rw-r--r-- | src/drivers/Darwin/Fl_Darwin_System_Driver.H | 2 | ||||
| -rw-r--r-- | src/drivers/Darwin/Fl_Darwin_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 | 2 | ||||
| -rw-r--r-- | src/drivers/X11/Fl_X11_System_Driver.H | 2 | ||||
| -rw-r--r-- | src/drivers/X11/Fl_X11_System_Driver.cxx | 2 |
8 files changed, 9 insertions, 9 deletions
diff --git a/FL/Fl_System_Driver.H b/FL/Fl_System_Driver.H index 8ad8bb1f2..706a4ccbb 100644 --- a/FL/Fl_System_Driver.H +++ b/FL/Fl_System_Driver.H @@ -142,7 +142,7 @@ public: // the default implementation of need_test_shortcut_extra() may be enough virtual int need_test_shortcut_extra() {return 0;} // 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;} + virtual int file_browser_load_filesystem(Fl_File_Browser *browser, char *filename, int lname, 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, size_t name_size, dirent ***pfiles, Fl_File_Sort_F *sort); // implement to support Fl_Preferences diff --git a/src/Fl_File_Browser.cxx b/src/Fl_File_Browser.cxx index 14f64f8be..c5e67132a 100644 --- a/src/Fl_File_Browser.cxx +++ b/src/Fl_File_Browser.cxx @@ -407,7 +407,7 @@ Fl_File_Browser::load(const char *directory,// I - Directory to load // if ((icon = Fl_File_Icon::find("any", Fl_File_Icon::DEVICE)) == NULL) icon = Fl_File_Icon::find("any", Fl_File_Icon::DIRECTORY); - num_files = Fl::system_driver()->file_browser_load_filesystem(this, filename, icon); + num_files = Fl::system_driver()->file_browser_load_filesystem(this, filename, (int)sizeof(filename), icon); } else { diff --git a/src/drivers/Darwin/Fl_Darwin_System_Driver.H b/src/drivers/Darwin/Fl_Darwin_System_Driver.H index a8cbe7d75..ff2ab8205 100644 --- a/src/drivers/Darwin/Fl_Darwin_System_Driver.H +++ b/src/drivers/Darwin/Fl_Darwin_System_Driver.H @@ -55,7 +55,7 @@ public: virtual int filename_list(const char *d, dirent ***list, int (*sort)(struct dirent **, struct dirent **) ); virtual int open_uri(const char *uri, char *msg, int msglen); virtual int need_test_shortcut_extra() {return 1;} - virtual int file_browser_load_filesystem(Fl_File_Browser *browser, char *filename, Fl_File_Icon *icon); + virtual int file_browser_load_filesystem(Fl_File_Browser *browser, char *filename, int lname, Fl_File_Icon *icon); 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/Darwin/Fl_Darwin_System_Driver.cxx b/src/drivers/Darwin/Fl_Darwin_System_Driver.cxx index 64102d9b4..19a200c69 100644 --- a/src/drivers/Darwin/Fl_Darwin_System_Driver.cxx +++ b/src/drivers/Darwin/Fl_Darwin_System_Driver.cxx @@ -153,7 +153,7 @@ int Fl_Darwin_System_Driver::open_uri(const char *uri, char *msg, int msglen) return run_program("/usr/bin/open", argv, msg, msglen) != 0; } -int Fl_Darwin_System_Driver::file_browser_load_filesystem(Fl_File_Browser *browser, char *filename, Fl_File_Icon *icon) +int Fl_Darwin_System_Driver::file_browser_load_filesystem(Fl_File_Browser *browser, char *filename, int lname, Fl_File_Icon *icon) { // MacOS X and Darwin use getfsstat() system call... int numfs; // Number of file systems @@ -175,7 +175,7 @@ int Fl_Darwin_System_Driver::file_browser_load_filesystem(Fl_File_Browser *brows // Ignore "/", "/dev", and "/.vol"... if (fs[i].f_mntonname[1] && strcmp(fs[i].f_mntonname, "/dev") && strcmp(fs[i].f_mntonname, "/.vol")) { - snprintf(filename, sizeof(filename), "%s/", fs[i].f_mntonname); + snprintf(filename, lname, "%s/", fs[i].f_mntonname); browser->add(filename, icon); } num_files ++; diff --git a/src/drivers/WinAPI/Fl_WinAPI_System_Driver.H b/src/drivers/WinAPI/Fl_WinAPI_System_Driver.H index 3e6ef0e01..759a39d0c 100644 --- a/src/drivers/WinAPI/Fl_WinAPI_System_Driver.H +++ b/src/drivers/WinAPI/Fl_WinAPI_System_Driver.H @@ -79,7 +79,7 @@ public: virtual const char *filename_ext(const char *buf); 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_filesystem(Fl_File_Browser *browser, char *filename, int lname, Fl_File_Icon *icon); 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, diff --git a/src/drivers/WinAPI/Fl_WinAPI_System_Driver.cxx b/src/drivers/WinAPI/Fl_WinAPI_System_Driver.cxx index f7d37fecb..43141ffae 100644 --- a/src/drivers/WinAPI/Fl_WinAPI_System_Driver.cxx +++ b/src/drivers/WinAPI/Fl_WinAPI_System_Driver.cxx @@ -681,7 +681,7 @@ int Fl_WinAPI_System_Driver::open_uri(const char *uri, char *msg, int msglen) return (int)(ShellExecute(HWND_DESKTOP, "open", uri, NULL, NULL, SW_SHOW) > (void *)32); } -int Fl_WinAPI_System_Driver::file_browser_load_filesystem(Fl_File_Browser *browser, char *filename, Fl_File_Icon *icon) +int Fl_WinAPI_System_Driver::file_browser_load_filesystem(Fl_File_Browser *browser, char *filename, int lname, Fl_File_Icon *icon) { int num_files = 0; # ifdef __CYGWIN__ diff --git a/src/drivers/X11/Fl_X11_System_Driver.H b/src/drivers/X11/Fl_X11_System_Driver.H index aadda87fb..1f24ff511 100644 --- a/src/drivers/X11/Fl_X11_System_Driver.H +++ b/src/drivers/X11/Fl_X11_System_Driver.H @@ -37,7 +37,7 @@ public: virtual int use_tooltip_timeout_condition() {return 1;} // this one is in fl_shortcut.cxx virtual const char *shortcut_add_key_name(unsigned key, char *p, char *buf, const char **); - virtual int file_browser_load_filesystem(Fl_File_Browser *browser, char *filename, Fl_File_Icon *icon); + virtual int file_browser_load_filesystem(Fl_File_Browser *browser, char *filename, int lname, Fl_File_Icon *icon); 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/X11/Fl_X11_System_Driver.cxx b/src/drivers/X11/Fl_X11_System_Driver.cxx index d25573d31..04292c398 100644 --- a/src/drivers/X11/Fl_X11_System_Driver.cxx +++ b/src/drivers/X11/Fl_X11_System_Driver.cxx @@ -221,7 +221,7 @@ int Fl_X11_System_Driver::open_uri(const char *uri, char *msg, int msglen) } -int Fl_X11_System_Driver::file_browser_load_filesystem(Fl_File_Browser *browser, char *filename, Fl_File_Icon *icon) +int Fl_X11_System_Driver::file_browser_load_filesystem(Fl_File_Browser *browser, char *filename, int lname, Fl_File_Icon *icon) { int num_files = 0; #if defined(_AIX) |
