diff options
| author | Björn Stenberg <bjorn@haxx.se> | 2002-11-14 15:50:07 +0000 |
|---|---|---|
| committer | Björn Stenberg <bjorn@haxx.se> | 2002-11-14 15:50:07 +0000 |
| commit | 4cde17d1ca7571055b0586fee78bf71765ab32ff (patch) | |
| tree | b3ae564beda0984c057e5f38b08dc3079ec9faf2 | |
| parent | dc9cdc40edffad60b17434c2d9769e242edc3397 (diff) | |
| download | rockbox-4cde17d1ca7571055b0586fee78bf71765ab32ff.zip rockbox-4cde17d1ca7571055b0586fee78bf71765ab32ff.tar.gz rockbox-4cde17d1ca7571055b0586fee78bf71765ab32ff.tar.bz2 rockbox-4cde17d1ca7571055b0586fee78bf71765ab32ff.tar.xz | |
Flush sector cache before truncating.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@2849 a1c6a512-1295-4272-9138-f99709370657
| -rw-r--r-- | firmware/common/file.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/firmware/common/file.c b/firmware/common/file.c index 504273f..01a0ebf 100644 --- a/firmware/common/file.c +++ b/firmware/common/file.c @@ -174,18 +174,18 @@ int close(int fd) return -2; } if (file->write) { - /* truncate? */ - if (file->trunc) { - if (ftruncate(fd, file->fileoffset) < 0) - return -1; - } - /* flush sector cache */ if ( file->dirty ) { if (flush_cache(fd) < 0) return -2; } + /* truncate? */ + if (file->trunc) { + if (ftruncate(fd, file->fileoffset) < 0) + return -1; + } + /* tie up all loose ends */ if (fat_closewrite(&(file->fatfile), file->size) < 0) return -3; |