summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--firmware/common/file.c12
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;