summaryrefslogtreecommitdiff
path: root/FL/filename.H
diff options
context:
space:
mode:
authorMichael R Sweet <michael.r.sweet@gmail.com>1998-10-06 18:21:25 +0000
committerMichael R Sweet <michael.r.sweet@gmail.com>1998-10-06 18:21:25 +0000
commitf9039b2ae21988783feae9b362818e7923e82d14 (patch)
tree6d6fe3679d73448758f9794e7d4d4f6b22a4adad /FL/filename.H
parent67e89232f9ba067825a158734a09e0fa21aacbe3 (diff)
Initial revision
git-svn-id: file:///fltk/svn/fltk/trunk@2 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Diffstat (limited to 'FL/filename.H')
-rw-r--r--FL/filename.H41
1 files changed, 41 insertions, 0 deletions
diff --git a/FL/filename.H b/FL/filename.H
new file mode 100644
index 000000000..2952108e7
--- /dev/null
+++ b/FL/filename.H
@@ -0,0 +1,41 @@
+// filename.H
+
+// fltk filename utilities. These are used by the file chooser but may
+// be useful to other programs.
+
+#ifndef FL_PATH_MAX
+
+#define FL_PATH_MAX 256 // all buffers are this length
+
+const char *filename_name(const char *); // return pointer to name
+const char *filename_ext(const char *); // return pointer to .ext
+char *filename_setext(char *,const char *ext); // clobber .ext
+int filename_expand(char *, const char *from); // do $x and ~x
+int filename_absolute(char *, const char *from); // prepend getcwd()
+int filename_match(const char *, const char *pattern); // glob match
+int filename_isdir(const char*);
+
+// Portable "scandir" function. Ugly but apparently necessary...
+
+#ifdef WIN32
+
+struct dirent {char d_name[1];};
+
+#else
+
+#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
+
+int filename_list(const char *d, dirent ***list);
+
+#endif