Rob Shearman : avifil32: Fix treating the return values of mmio* functions as HRESULTs instead of MMRESULTs .
Alexandre Julliard
julliard at winehq.org
Tue Sep 30 11:16:49 CDT 2008
Module: wine
Branch: master
Commit: c9d24bdc3e498f509c40771a8a7f7bb5fe33037b
URL: http://source.winehq.org/git/wine.git/?a=commit;h=c9d24bdc3e498f509c40771a8a7f7bb5fe33037b
Author: Rob Shearman <robertshearman at gmail.com>
Date: Tue Sep 30 13:55:35 2008 +0100
avifil32: Fix treating the return values of mmio* functions as HRESULTs instead of MMRESULTs.
(Found by PreFast.)
---
dlls/avifil32/extrachunk.c | 26 ++++++++++++++++----------
1 files changed, 16 insertions(+), 10 deletions(-)
diff --git a/dlls/avifil32/extrachunk.c b/dlls/avifil32/extrachunk.c
index 45096e8..5b87623 100644
--- a/dlls/avifil32/extrachunk.c
+++ b/dlls/avifil32/extrachunk.c
@@ -145,7 +145,7 @@ HRESULT FindChunkAndKeepExtras(LPEXTRACHUNKS extra,HMMIO hmmio,MMCKINFO *lpck,
{
FOURCC ckid;
FOURCC fccType;
- HRESULT hr;
+ MMRESULT mmr;
/* pre-conditions */
assert(extra != NULL);
@@ -171,12 +171,13 @@ HRESULT FindChunkAndKeepExtras(LPEXTRACHUNKS extra,HMMIO hmmio,MMCKINFO *lpck,
TRACE(": find ckid=0x%08X fccType=0x%08X\n", ckid, fccType);
for (;;) {
- hr = mmioDescend(hmmio, lpck, lpckParent, 0);
- if (hr != S_OK) {
+ mmr = mmioDescend(hmmio, lpck, lpckParent, 0);
+ if (mmr != MMSYSERR_NOERROR) {
/* No extra chunks in front of desired chunk? */
- if (flags == 0 && hr == MMIOERR_CHUNKNOTFOUND)
- hr = AVIERR_OK;
- return hr;
+ if (flags == 0 && mmr == MMIOERR_CHUNKNOTFOUND)
+ return AVIERR_OK;
+ else
+ return AVIERR_FILEREAD;
}
/* Have we found what we search for? */
@@ -187,10 +188,15 @@ HRESULT FindChunkAndKeepExtras(LPEXTRACHUNKS extra,HMMIO hmmio,MMCKINFO *lpck,
/* Skip padding chunks, the others put into the extrachunk-structure */
if (lpck->ckid == ckidAVIPADDING ||
lpck->ckid == mmioFOURCC('p','a','d','d'))
- hr = mmioAscend(hmmio, lpck, 0);
+ {
+ mmr = mmioAscend(hmmio, lpck, 0);
+ if (mmr != MMSYSERR_NOERROR) return AVIERR_FILEREAD;
+ }
else
- hr = ReadChunkIntoExtra(extra, hmmio, lpck);
- if (FAILED(hr))
- return hr;
+ {
+ HRESULT hr = ReadChunkIntoExtra(extra, hmmio, lpck);
+ if (FAILED(hr))
+ return hr;
+ }
}
}
More information about the wine-cvs
mailing list