Jacek Caban : mshtml: Introduce map_nsresult and use it in return_nsstr.

Alexandre Julliard julliard at winehq.org
Tue Mar 26 16:43:15 CDT 2019


Module: wine
Branch: master
Commit: 78a05ca6dd746325de4a17b4fbe892b9ff50a373
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=78a05ca6dd746325de4a17b4fbe892b9ff50a373

Author: Jacek Caban <jacek at codeweavers.com>
Date:   Tue Mar 26 17:27:22 2019 +0100

mshtml: Introduce map_nsresult and use it in return_nsstr.

Signed-off-by: Jacek Caban <jacek at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/mshtml/nsembed.c | 25 +++++++++++++++++++++++--
 1 file changed, 23 insertions(+), 2 deletions(-)

diff --git a/dlls/mshtml/nsembed.c b/dlls/mshtml/nsembed.c
index 33d251d..cebed37 100644
--- a/dlls/mshtml/nsembed.c
+++ b/dlls/mshtml/nsembed.c
@@ -848,14 +848,35 @@ void nsAString_Finish(nsAString *str)
     NS_StringContainerFinish(str);
 }
 
+static HRESULT map_nsresult(nsresult nsres)
+{
+    switch(nsres) {
+    case NS_OK:
+        return S_OK;
+    case NS_ERROR_OUT_OF_MEMORY:
+        return E_OUTOFMEMORY;
+    case NS_ERROR_NOT_IMPLEMENTED:
+        return E_NOTIMPL;
+    case NS_NOINTERFACE:
+        return E_NOINTERFACE;
+    case NS_ERROR_INVALID_POINTER:
+        return E_POINTER;
+    case NS_ERROR_INVALID_ARG:
+        return E_INVALIDARG;
+    case NS_ERROR_UNEXPECTED:
+        return E_UNEXPECTED;
+    }
+    return E_FAIL;
+}
+
 HRESULT return_nsstr(nsresult nsres, nsAString *nsstr, BSTR *p)
 {
     const PRUnichar *str;
 
     if(NS_FAILED(nsres)) {
-        ERR("failed: %08x\n", nsres);
+        WARN("failed: %08x\n", nsres);
         nsAString_Finish(nsstr);
-        return E_FAIL;
+        return map_nsresult(nsres);
     }
 
     nsAString_GetData(nsstr, &str);




More information about the wine-cvs mailing list