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 | |
| 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
| -rw-r--r-- | FL/filename.H | 125 | ||||
| -rw-r--r-- | src/numericsort.c | 20 | ||||
| -rw-r--r-- | visualc/config.h | 14 |
3 files changed, 83 insertions, 76 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 $". + */ diff --git a/src/numericsort.c b/src/numericsort.c index 7220d0c94..4a30a1455 100644 --- a/src/numericsort.c +++ b/src/numericsort.c @@ -1,5 +1,5 @@ /* - * "$Id: numericsort.c,v 1.10.2.4.2.3 2002/05/02 11:11:01 easysw Exp $" + * "$Id: numericsort.c,v 1.10.2.4.2.4 2002/05/02 14:15:46 easysw Exp $" * * Numeric sorting routine for the Fast Light Tool Kit (FLTK). * @@ -31,11 +31,11 @@ #include <stdlib.h> #include <sys/types.h> -#if defined(WIN32) && !defined(__CYGWIN__) -# include <FL/filename.H> -#elif defined(HAVE_DIRENT_H) +#include <FL/filename.H> + +#ifdef HAVE_DIRENT_H # include <dirent.h> -#else +#elif !defined(WIN32) || defined(__CYGWIN__) # define dirent direct # if HAVE_SYS_NDIR_H # include <sys/ndir.h> @@ -48,10 +48,6 @@ # endif #endif -#ifdef __cplusplus -extern "C" { -#endif - /* * 'numericsort()' - Compare two directory entries, possibly with * a case-insensitive comparison... @@ -106,10 +102,6 @@ int fl_numericsort(struct dirent **A, struct dirent **B) { return numericsort(A, B, 1); } -#ifdef __cplusplus -} -#endif - /* - * End of "$Id: numericsort.c,v 1.10.2.4.2.3 2002/05/02 11:11:01 easysw Exp $". + * End of "$Id: numericsort.c,v 1.10.2.4.2.4 2002/05/02 14:15:46 easysw Exp $". */ diff --git a/visualc/config.h b/visualc/config.h index 841184ab9..7d171c0e7 100644 --- a/visualc/config.h +++ b/visualc/config.h @@ -1,5 +1,5 @@ /* - * "$Id: config.h,v 1.5.2.5.2.7 2002/04/28 16:41:17 easysw Exp $" + * "$Id: config.h,v 1.5.2.5.2.8 2002/05/02 14:15:46 easysw Exp $" * * Configuration file for the Fast Light Tool Kit (FLTK) for Visual C++. * @@ -131,11 +131,11 @@ * Where is <dirent.h> (used only by fl_file_chooser and scandir). */ -#define HAVE_DIRENT_H 1 -#define HAVE_SYS_NDIR_H 0 -#define HAVE_SYS_DIR_H 0 -#define HAVE_NDIR_H 0 -#define HAVE_SCANDIR 0 +/*#undef HAVE_DIRENT_H */ +/*#undef HAVE_SYS_NDIR_H */ +/*#undef HAVE_SYS_DIR_H */ +/*#undef HAVE_NDIR_H */ +/*#undef HAVE_SCANDIR */ /* * Possibly missing sprintf-style functions: @@ -183,5 +183,5 @@ /* - * End of "$Id: config.h,v 1.5.2.5.2.7 2002/04/28 16:41:17 easysw Exp $". + * End of "$Id: config.h,v 1.5.2.5.2.8 2002/05/02 14:15:46 easysw Exp $". */ |
