diff options
| author | Michael R Sweet <michael.r.sweet@gmail.com> | 2002-05-02 14:15:46 +0000 |
|---|---|---|
| committer | Michael R Sweet <michael.r.sweet@gmail.com> | 2002-05-02 14:15:46 +0000 |
| commit | 47e7de17bc515581d85a6f1d57341d0ce14131ad (patch) | |
| tree | 2c8c9eadf75ad4da3c570857a86ec836637f9fb4 /FL | |
| parent | a237472c70abda43511b988a519f9672d37dc652 (diff) | |
Fix new filename stuff for WIN32.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@2175 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Diffstat (limited to 'FL')
| -rw-r--r-- | FL/filename.H | 125 |
1 files changed, 70 insertions, 55 deletions
diff --git a/FL/filename.H b/FL/filename.H index 419f59a19..4df4e4223 100644 --- a/FL/filename.H +++ b/FL/filename.H @@ -1,89 +1,104 @@ -// -// "$Id: filename.H,v 1.11.2.4.2.6 2002/05/02 11:11:00 easysw Exp $" -// -// Filename header file for the Fast Light Tool Kit (FLTK). -// -// Copyright 1998-2002 by Bill Spitzak and others. -// -// This library is free software; you can redistribute it and/or -// modify it under the terms of the GNU Library General Public -// License as published by the Free Software Foundation; either -// version 2 of the License, or (at your option) any later version. -// -// This library is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -// Library General Public License for more details. -// -// You should have received a copy of the GNU Library General Public -// License along with this library; if not, write to the Free Software -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 -// USA. -// -// Please report all bugs and problems to "fltk-bugs@fltk.org". -// +/* + * "$Id: filename.H,v 1.11.2.4.2.7 2002/05/02 14:15:46 easysw Exp $" + * + * Filename header file for the Fast Light Tool Kit (FLTK). + * + * Copyright 1998-2002 by Bill Spitzak and others. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 + * USA. + * + * Please report all bugs and problems to "fltk-bugs@fltk.org". + */ #ifndef FL_FILENAME_H # define FL_FILENAME_H # include "Fl_Export.H" -# define FL_PATH_MAX 256 // all buffers are this length +# define FL_PATH_MAX 256 /* all buffers are this length */ -FL_EXPORT const char *fl_filename_name(const char *); // return pointer to name -FL_EXPORT const char *fl_filename_ext(const char *); // return pointer to .ext -FL_EXPORT char *fl_filename_setext(char *to, int tolen, const char *ext); // clobber .ext -FL_EXPORT int fl_filename_expand(char *to, int tolen, const char *from); // do $x and ~x -FL_EXPORT int fl_filename_absolute(char *to, int tolen, const char *from); // prepend getcwd() -FL_EXPORT int fl_filename_relative(char *to, int tolen, const char *from); // make local to getcwd() -FL_EXPORT int fl_filename_match(const char *name, const char *pattern); // glob match +FL_EXPORT const char *fl_filename_name(const char *); +FL_EXPORT const char *fl_filename_ext(const char *); +FL_EXPORT char *fl_filename_setext(char *to, int tolen, const char *ext); +FL_EXPORT int fl_filename_expand(char *to, int tolen, const char *from); +FL_EXPORT int fl_filename_absolute(char *to, int tolen, const char *from); +FL_EXPORT int fl_filename_relative(char *to, int tolen, const char *from); +FL_EXPORT int fl_filename_match(const char *name, const char *pattern); FL_EXPORT int fl_filename_isdir(const char *name); # ifdef __cplusplus -// Under WIN32, we include filename.H from numericsort.c; this should probably change +/* + * Under WIN32, we include filename.H from numericsort.c; this should probably change... + */ + inline char *fl_filename_setext(char *to, const char *ext) { return fl_filename_setext(to, FL_PATH_MAX, ext); } inline int fl_filename_expand(char *to, const char *from) { return fl_filename_expand(to, FL_PATH_MAX, from); } inline int fl_filename_absolute(char *to, const char *from) { return fl_filename_absolute(to, FL_PATH_MAX, from); } inline int fl_filename_relative(char *to, const char *from) { return fl_filename_relative(to, FL_PATH_MAX, from); } -# endif // __cplusplus - +# endif /* __cplusplus */ -// Portable "scandir" function. Ugly but apparently necessary... # if defined(WIN32) && !defined(__CYGWIN__) struct dirent {char d_name[1];}; # else - +/* + * WARNING: on some systems (very few nowadays?) <dirent.h> may not exist. + * The correct information is in one of these files: + * + * #include <sys/ndir.h> + * #include <sys/dir.h> + * #include <ndir.h> + * + * plus you must do the following #define: + * + * #define dirent direct + * + * It would be best to create a <dirent.h> file that does this... + */ # include <sys/types.h> # include <dirent.h> -// warning: on some systems (very few nowadays?) <dirent.h> may not exist. -// The correct information is in one of these files: -//#include <sys/ndir.h> -//#include <sys/dir.h> -//#include <ndir.h> -// plus you must do the following #define: -//#define dirent direct -// It would be best to create a <dirent.h> file that does this... - # endif +# ifdef __cplusplus extern "C" { - FL_EXPORT int fl_alphasort(dirent **, dirent **); - FL_EXPORT int fl_casealphasort(dirent **, dirent **); - FL_EXPORT int fl_casenumericsort(dirent **, dirent **); - FL_EXPORT int fl_numericsort(dirent **, dirent **); +# endif /* __cplusplus */ - typedef int (Fl_File_Sort_F)(dirent **, dirent **); +FL_EXPORT int fl_alphasort(struct dirent **, struct dirent **); +FL_EXPORT int fl_casealphasort(struct dirent **, struct dirent **); +FL_EXPORT int fl_casenumericsort(struct dirent **, struct dirent **); +FL_EXPORT int fl_numericsort(struct dirent **, struct dirent **); + +typedef int (Fl_File_Sort_F)(struct dirent **, struct dirent **); + +# ifdef __cplusplus } +/* + * Portable "scandir" function. Ugly but necessary... + */ + FL_EXPORT int fl_filename_list(const char *d, struct dirent ***list, Fl_File_Sort_F *sort = fl_numericsort); +# endif /* __cplusplus */ -#endif +#endif /* FL_FILENAME_H */ -// -// End of "$Id: filename.H,v 1.11.2.4.2.6 2002/05/02 11:11:00 easysw Exp $". -// +/* + * End of "$Id: filename.H,v 1.11.2.4.2.7 2002/05/02 14:15:46 easysw Exp $". + */ |
