Lei Zhang : shlwapi: Refactor data return code in IQueryAssociations_fnGetString.

Alexandre Julliard julliard at winehq.org
Tue Oct 14 08:30:19 CDT 2008


Module: wine
Branch: master
Commit: 58797fc54ce82886a2780a9f7cf6628a63573838
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=58797fc54ce82886a2780a9f7cf6628a63573838

Author: Lei Zhang <thestig at google.com>
Date:   Mon Oct 13 18:09:28 2008 -0700

shlwapi: Refactor data return code in IQueryAssociations_fnGetString.

---

 dlls/shlwapi/assoc.c |   40 ++++++++++++++++++++++++----------------
 1 files changed, 24 insertions(+), 16 deletions(-)

diff --git a/dlls/shlwapi/assoc.c b/dlls/shlwapi/assoc.c
index 61ac84b..882b881 100644
--- a/dlls/shlwapi/assoc.c
+++ b/dlls/shlwapi/assoc.c
@@ -670,6 +670,29 @@ static HRESULT ASSOC_GetExecutable(IQueryAssociationsImpl *This,
   return S_OK;
 }
 
+static HRESULT ASSOC_ReturnData(LPWSTR out, DWORD *outlen, LPCWSTR data,
+                                DWORD datalen)
+{
+  assert(outlen);
+
+  if (out)
+  {
+    if (*outlen < datalen)
+    {
+      *outlen = datalen;
+      return E_POINTER;
+    }
+    *outlen = datalen;
+    lstrcpynW(out, data, datalen);
+    return S_OK;
+  }
+  else
+  {
+    *outlen = datalen;
+    return S_FALSE;
+  }
+}
+
 /**************************************************************************
  *  IQueryAssociations_GetString {SHLWAPI}
  *
@@ -718,22 +741,7 @@ static HRESULT WINAPI IQueryAssociations_fnGetString(
       if (FAILED(hr))
         return hr;
       len++;
-      if (pszOut)
-      {
-        if (*pcchOut < len)
-        {
-          *pcchOut = len;
-          return E_POINTER;
-        }
-        *pcchOut = len;
-        lstrcpynW(pszOut, path, len);
-        return S_OK;
-      }
-      else
-      {
-        *pcchOut = len;
-        return S_FALSE;
-      }
+      return ASSOC_ReturnData(pszOut, pcchOut, path, len);
       break;
     }
 




More information about the wine-cvs mailing list