diff options
| author | Peter D'Hoye <peter.dhoye@gmail.com> | 2009-05-22 21:58:48 +0000 |
|---|---|---|
| committer | Peter D'Hoye <peter.dhoye@gmail.com> | 2009-05-22 21:58:48 +0000 |
| commit | 513389b4c1bc8afe4b2dc9947c534bfeb105e3da (patch) | |
| tree | 10e673b35651ac567fed2eda0c679c7ade64cbc6 /apps/plugins/pdbox/PDa/src/s_file.c | |
| parent | 95fa7f6a2ef466444fbe3fe87efc6d5db6b77b36 (diff) | |
| download | rockbox-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.c | 110 |
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; +} + |