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 /firmware | |
parent | 4cde66765999976b43d46366e495bf353d35736e (diff) | |
download | rockbox-4059ea61d443b25cd18b6f194f0e5969463c460e.tar.gz rockbox-4059ea61d443b25cd18b6f194f0e5969463c460e.zip |
Bugfix: Flags work better when they're binary...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@2830 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware')
-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 82a33ada2d..6d60595ab1 100644 --- a/firmware/common/file.c +++ b/firmware/common/file.c | |||
@@ -83,17 +83,13 @@ int open(const char* pathname, int flags) | |||
83 | errno = EMFILE; | 83 | errno = EMFILE; |
84 | return -2; | 84 | return -2; |
85 | } | 85 | } |
86 | memset(&openfiles[fd], 0, sizeof (struct filedesc)); | ||
86 | 87 | ||
87 | if (flags & O_RDONLY) { | 88 | if (flags & (O_RDWR | O_WRONLY)) { |
88 | openfiles[fd].write = false; | 89 | openfiles[fd].write = true; |
89 | } | 90 | |
90 | else { | 91 | if (flags & O_TRUNC) |
91 | if (flags & (O_RDWR | O_WRONLY)) { | 92 | openfiles[fd].trunc = true; |
92 | openfiles[fd].write = true; | ||
93 | |||
94 | if (flags & O_TRUNC) | ||
95 | openfiles[fd].trunc = true; | ||
96 | } | ||
97 | } | 93 | } |
98 | openfiles[fd].busy = true; | 94 | openfiles[fd].busy = true; |
99 | 95 | ||
diff --git a/firmware/common/file.h b/firmware/common/file.h index 2effe31ac9..bf7ad82ff7 100644 --- a/firmware/common/file.h +++ b/firmware/common/file.h | |||
@@ -37,9 +37,9 @@ | |||
37 | #define O_RDONLY 0 | 37 | #define O_RDONLY 0 |
38 | #define O_WRONLY 1 | 38 | #define O_WRONLY 1 |
39 | #define O_RDWR 2 | 39 | #define O_RDWR 2 |
40 | #define O_CREAT 3 | 40 | #define O_CREAT 4 |
41 | #define O_APPEND 4 | 41 | #define O_APPEND 8 |
42 | #define O_TRUNC 5 | 42 | #define O_TRUNC 0x10 |
43 | #endif | 43 | #endif |
44 | 44 | ||
45 | #if defined(__MINGW32__) && defined(SIMULATOR) | 45 | #if defined(__MINGW32__) && defined(SIMULATOR) |