Module: wine Branch: refs/heads/master Commit: 55ab8098547087d249747cbba4608111efa1b3eb URL: http://source.winehq.org/git/?p=wine.git;a=commit;h=55ab8098547087d249747cbb...
Author: Mike McCormack mike@codeweavers.com Date: Tue Jul 11 11:38:24 2006 +0900
ole32: Only print a FIXME if necessary in StgOpenStorageEx.
---
dlls/ole32/storage32.c | 35 ++++++++++++++++++++--------------- 1 files changed, 20 insertions(+), 15 deletions(-)
diff --git a/dlls/ole32/storage32.c b/dlls/ole32/storage32.c index acebb98..8c7fc61 100644 --- a/dlls/ole32/storage32.c +++ b/dlls/ole32/storage32.c @@ -5829,28 +5829,33 @@ HRESULT WINAPI StgOpenStorageEx(const WC return STG_E_INVALIDPARAMETER; }
- if (stgfmt == STGFMT_DOCFILE && grfAttrs != 0 && grfAttrs != FILE_FLAG_NO_BUFFERING) - { - ERR("grfAttrs must be 0 or FILE_FLAG_NO_BUFFERING if stgfmt == STGFMT_DOCFILE\n"); - return STG_E_INVALIDPARAMETER; - } - - if (stgfmt == STGFMT_FILE) + switch (stgfmt) { + case STGFMT_FILE: ERR("Cannot use STGFMT_FILE - this is NTFS only\n"); return STG_E_INVALIDPARAMETER; - } + + case STGFMT_STORAGE: + break;
- if (stgfmt == STGFMT_STORAGE || stgfmt == STGFMT_DOCFILE || stgfmt == STGFMT_ANY) - { - if (stgfmt == STGFMT_ANY) - WARN("STGFMT_ANY assuming storage\n"); + case STGFMT_DOCFILE: + if (grfAttrs && grfAttrs != FILE_FLAG_NO_BUFFERING) + { + ERR("grfAttrs must be 0 or FILE_FLAG_NO_BUFFERING if stgfmt == STGFMT_DOCFILE\n"); + return STG_E_INVALIDPARAMETER; + } FIXME("Stub: calling StgOpenStorage, but ignoring pStgOptions and grfAttrs\n"); - return StgOpenStorage(pwcsName, NULL, grfMode, (SNB)NULL, 0, (IStorage **)ppObjectOpen); + break; + + case STGFMT_ANY: + WARN("STGFMT_ANY assuming storage\n"); + break; + + default: + return STG_E_INVALIDPARAMETER; }
- ERR("Invalid stgfmt argument\n"); - return STG_E_INVALIDPARAMETER; + return StgOpenStorage(pwcsName, NULL, grfMode, (SNB)NULL, 0, (IStorage **)ppObjectOpen); }