diff options
author | Peter D'Hoye <peter.dhoye@gmail.com> | 2007-12-13 23:36:22 +0000 |
---|---|---|
committer | Peter D'Hoye <peter.dhoye@gmail.com> | 2007-12-13 23:36:22 +0000 |
commit | eb947cdde1a34588de767ea75762269253af487a (patch) | |
tree | 742ba8891394103004bf37666829c2ba128bc603 /apps/codecs/wav_enc.c | |
parent | 10d0344e296eeb9259e9b609bb9b656ba1d7e42a (diff) | |
download | rockbox-eb947cdde1a34588de767ea75762269253af487a.tar.gz rockbox-eb947cdde1a34588de767ea75762269253af487a.zip |
Another fix for file system issues when encountering disk full (like when recording)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15920 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/codecs/wav_enc.c')
-rw-r--r-- | apps/codecs/wav_enc.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/apps/codecs/wav_enc.c b/apps/codecs/wav_enc.c index 25d2838e7d..5932fd319d 100644 --- a/apps/codecs/wav_enc.c +++ b/apps/codecs/wav_enc.c | |||
@@ -144,10 +144,12 @@ static bool on_end_file(struct enc_file_event_data *data) | |||
144 | struct riff_header hdr; | 144 | struct riff_header hdr; |
145 | uint32_t data_size; | 145 | uint32_t data_size; |
146 | 146 | ||
147 | /* always _try_ to write the file header, even on error */ | 147 | if (data->rec_file < 0) |
148 | return false; /* file already closed, nothing more we can do */ | ||
148 | 149 | ||
149 | if (ci->lseek(data->rec_file, 0, SEEK_SET) != 0 || | 150 | /* always _try_ to write the file header, even on error */ |
150 | ci->read(data->rec_file, &hdr, sizeof (hdr)) != sizeof (hdr)) | 151 | if ((ci->lseek(data->rec_file, 0, SEEK_SET)) || |
152 | (ci->read(data->rec_file, &hdr, sizeof (hdr)) != sizeof (hdr))) | ||
151 | { | 153 | { |
152 | return false; | 154 | return false; |
153 | } | 155 | } |