summaryrefslogtreecommitdiff
path: root/apps/plugins/pdbox/PDa/src/s_file.c
diff options
context:
space:
mode:
authorPeter D'Hoye <peter.dhoye@gmail.com>2009-05-22 21:58:48 +0000
committerPeter D'Hoye <peter.dhoye@gmail.com>2009-05-22 21:58:48 +0000
commit513389b4c1bc8afe4b2dc9947c534bfeb105e3da (patch)
tree10e673b35651ac567fed2eda0c679c7ade64cbc6 /apps/plugins/pdbox/PDa/src/s_file.c
parent95fa7f6a2ef466444fbe3fe87efc6d5db6b77b36 (diff)
downloadrockbox-513389b4c1bc8afe4b2dc9947c534bfeb105e3da.zip
rockbox-513389b4c1bc8afe4b2dc9947c534bfeb105e3da.tar.gz
rockbox-513389b4c1bc8afe4b2dc9947c534bfeb105e3da.tar.bz2
rockbox-513389b4c1bc8afe4b2dc9947c534bfeb105e3da.tar.xz
Add FS #10214. Initial commit of the original PDa code for the GSoC Pure Data plugin project of Wincent Balin. Stripped some non-sourcefiles and added a rockbox readme that needs a bit more info from Wincent. Is added to CATEGORIES and viewers, but not yet to SUBDIRS (ie doesn't build yet)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21044 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/plugins/pdbox/PDa/src/s_file.c')
-rw-r--r--apps/plugins/pdbox/PDa/src/s_file.c110
1 files changed, 110 insertions, 0 deletions
diff --git a/apps/plugins/pdbox/PDa/src/s_file.c b/apps/plugins/pdbox/PDa/src/s_file.c
new file mode 100644
index 0000000..2d3c4e5
--- /dev/null
+++ b/apps/plugins/pdbox/PDa/src/s_file.c
@@ -0,0 +1,110 @@
+/* Copyright (c) 1997-1999 Miller Puckette.
+* For information on usage and redistribution, and for a DISCLAIMER OF ALL
+* WARRANTIES, see the file, "LICENSE.txt," in this distribution. */
+
+/*
+ * this file contains file-handling routines.
+ */
+
+#include "m_pd.h"
+#include "s_stuff.h"
+#include <sys/types.h>
+#include <sys/stat.h>
+
+ /* LATER delete this? -- replaced by find_via_path() in s_path.c */
+int sys_isreadablefile(const char *s)
+{
+ struct stat statbuf;
+ int mode;
+ if (stat(s, &statbuf) < 0) return (0);
+#ifdef UNIX
+ mode = statbuf.st_mode;
+ if (S_ISDIR(mode)) return (0);
+#endif
+ return (1);
+}
+
+ /* change '/' characters to the system's native file separator */
+void sys_bashfilename(const char *from, char *to)
+{
+ char c;
+ while (c = *from++)
+ {
+#ifdef MSW
+ if (c == '/') c = '\\';
+#endif
+ *to++ = c;
+ }
+ *to = 0;
+}
+
+
+ /* change the system's native file separator to '/' characters */
+void sys_unbashfilename(const char *from, char *to)
+{
+ char c;
+ while (c = *from++)
+ {
+#ifdef MSW
+ if (c == '\\') c = '/';
+#endif
+ *to++ = c;
+ }
+ *to = 0;
+}
+
+/* Copyright (c) 1997-1999 Miller Puckette.
+* For information on usage and redistribution, and for a DISCLAIMER OF ALL
+* WARRANTIES, see the file, "LICENSE.txt," in this distribution. */
+
+/*
+ * this file contains file-handling routines.
+ */
+
+#include "m_pd.h"
+#include "s_stuff.h"
+#include <sys/types.h>
+#include <sys/stat.h>
+
+ /* LATER delete this? -- replaced by find_via_path() in s_path.c */
+int sys_isreadablefile(const char *s)
+{
+ struct stat statbuf;
+ int mode;
+ if (stat(s, &statbuf) < 0) return (0);
+#ifdef UNIX
+ mode = statbuf.st_mode;
+ if (S_ISDIR(mode)) return (0);
+#endif
+ return (1);
+}
+
+ /* change '/' characters to the system's native file separator */
+void sys_bashfilename(const char *from, char *to)
+{
+ char c;
+ while (c = *from++)
+ {
+#ifdef MSW
+ if (c == '/') c = '\\';
+#endif
+ *to++ = c;
+ }
+ *to = 0;
+}
+
+
+ /* change the system's native file separator to '/' characters */
+void sys_unbashfilename(const char *from, char *to)
+{
+ char c;
+ while (c = *from++)
+ {
+#ifdef MSW
+ if (c == '\\') c = '/';
+#endif
+ *to++ = c;
+ }
+ *to = 0;
+}
+