diff options
author | Gregory Nutt <gnutt@nuttx.org> | 2014-07-23 08:40:36 -0600 |
---|---|---|
committer | Gregory Nutt <gnutt@nuttx.org> | 2014-07-23 08:40:36 -0600 |
commit | 4d28fb87602303f98eb520f63a058b690c722a7b (patch) | |
tree | 8dacf34de8b609fd46a701a1c32b77243ec76e90 /apps/system | |
parent | 9c7be63dbfa9d72a3fb7d07b5908d02d0b22881c (diff) | |
download | nuttx-4d28fb87602303f98eb520f63a058b690c722a7b.tar.gz nuttx-4d28fb87602303f98eb520f63a058b690c722a7b.tar.bz2 nuttx-4d28fb87602303f98eb520f63a058b690c722a7b.zip |
Fix error introduced in last commit: Can't call ferror AFTER closing file
Diffstat (limited to 'apps/system')
-rw-r--r-- | apps/system/nxplayer/nxplayer.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/apps/system/nxplayer/nxplayer.c b/apps/system/nxplayer/nxplayer.c index fba3a4e68..54bed4d7e 100644 --- a/apps/system/nxplayer/nxplayer.c +++ b/apps/system/nxplayer/nxplayer.c @@ -500,6 +500,9 @@ static int nxplayer_enqueuebuffer(FAR struct nxplayer_s *pPlayer, pBuf->nbytes = fread(&pBuf->samp, 1, pBuf->nmaxbytes, pPlayer->fileFd); if (pBuf->nbytes < pBuf->nmaxbytes) { + int errcode = errno; + int readerror = ferror(pPlayer->fileFd); + /* End of file or read error.. We are finished with this file in any * event. */ @@ -509,9 +512,8 @@ static int nxplayer_enqueuebuffer(FAR struct nxplayer_s *pPlayer, /* Was this a file read error */ - if (ferror(pPlayer->fileFd)) + if (pBuf->nbytes == 0 && readerror) { - int errcode = errno; DEBUGASSERT(errcode > 0); auddbg("ERROR: fread failed: %d\n", errcode); |