diff options
| author | Björn Stenberg <bjorn@haxx.se> | 2002-11-11 16:08:28 +0000 |
|---|---|---|
| committer | Björn Stenberg <bjorn@haxx.se> | 2002-11-11 16:08:28 +0000 |
| commit | 4059ea61d443b25cd18b6f194f0e5969463c460e (patch) | |
| tree | c8b2672462ea23cdbe0e5916914a6c5709e489f4 | |
| parent | 4cde66765999976b43d46366e495bf353d35736e (diff) | |
| download | rockbox-4059ea61d443b25cd18b6f194f0e5969463c460e.zip rockbox-4059ea61d443b25cd18b6f194f0e5969463c460e.tar.gz rockbox-4059ea61d443b25cd18b6f194f0e5969463c460e.tar.bz2 rockbox-4059ea61d443b25cd18b6f194f0e5969463c460e.tar.xz | |
Bugfix: Flags work better when they're binary...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@2830 a1c6a512-1295-4272-9138-f99709370657
| -rw-r--r-- | firmware/common/file.c | 16 | ||||
| -rw-r--r-- | firmware/common/file.h | 6 |
2 files changed, 9 insertions, 13 deletions
diff --git a/firmware/common/file.c b/firmware/common/file.c index 82a33ad..6d60595 100644 --- a/firmware/common/file.c +++ b/firmware/common/file.c @@ -83,17 +83,13 @@ int open(const char* pathname, int flags) errno = EMFILE; return -2; } + memset(&openfiles[fd], 0, sizeof (struct filedesc)); - if (flags & O_RDONLY) { - openfiles[fd].write = false; - } - else { - if (flags & (O_RDWR | O_WRONLY)) { - openfiles[fd].write = true; - - if (flags & O_TRUNC) - openfiles[fd].trunc = true; - } + if (flags & (O_RDWR | O_WRONLY)) { + openfiles[fd].write = true; + + if (flags & O_TRUNC) + openfiles[fd].trunc = true; } openfiles[fd].busy = true; diff --git a/firmware/common/file.h b/firmware/common/file.h index 2effe31..bf7ad82 100644 --- a/firmware/common/file.h +++ b/firmware/common/file.h @@ -37,9 +37,9 @@ #define O_RDONLY 0 #define O_WRONLY 1 #define O_RDWR 2 -#define O_CREAT 3 -#define O_APPEND 4 -#define O_TRUNC 5 +#define O_CREAT 4 +#define O_APPEND 8 +#define O_TRUNC 0x10 #endif #if defined(__MINGW32__) && defined(SIMULATOR) |