James Hawkins : msi: Add an internal MSI_ViewModify.

Alexandre Julliard julliard at wine.codeweavers.com
Mon Apr 23 14:26:14 CDT 2007


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

Author: James Hawkins <truiken at gmail.com>
Date:   Sat Apr 21 06:55:24 2007 -0500

msi: Add an internal MSI_ViewModify.

---

 dlls/msi/msipriv.h  |    1 +
 dlls/msi/msiquery.c |   31 +++++++++++++++----------------
 2 files changed, 16 insertions(+), 16 deletions(-)

diff --git a/dlls/msi/msipriv.h b/dlls/msi/msipriv.h
index 9a0918a..2a9217c 100644
--- a/dlls/msi/msipriv.h
+++ b/dlls/msi/msipriv.h
@@ -619,6 +619,7 @@ extern UINT MSI_ViewExecute( MSIQUERY*, MSIRECORD * );
 extern UINT MSI_ViewFetch( MSIQUERY*, MSIRECORD ** );
 extern UINT MSI_ViewClose( MSIQUERY* );
 extern UINT MSI_ViewGetColumnInfo(MSIQUERY *, MSICOLINFO, MSIRECORD **);
+extern UINT MSI_ViewModify( MSIQUERY *, MSIMODIFY, MSIRECORD * );
 extern UINT VIEW_find_column( MSIVIEW *, LPCWSTR, UINT * );
 
 
diff --git a/dlls/msi/msiquery.c b/dlls/msi/msiquery.c
index f91a123..abec8d8 100644
--- a/dlls/msi/msiquery.c
+++ b/dlls/msi/msiquery.c
@@ -552,10 +552,23 @@ UINT WINAPI MsiViewGetColumnInfo(MSIHANDLE hView, MSICOLINFO info, MSIHANDLE *hR
     return r;
 }
 
+UINT MSI_ViewModify( MSIQUERY *query, MSIMODIFY mode, MSIRECORD *rec )
+{
+    MSIVIEW *view = NULL;
+
+    if ( !query || !rec )
+        return ERROR_INVALID_HANDLE;
+
+    view = query->view;
+    if ( !view  || !view->ops->modify)
+        return ERROR_FUNCTION_FAILED;
+
+    return view->ops->modify( view, mode, rec );
+}
+
 UINT WINAPI MsiViewModify( MSIHANDLE hView, MSIMODIFY eModifyMode,
                 MSIHANDLE hRecord)
 {
-    MSIVIEW *view = NULL;
     MSIQUERY *query = NULL;
     MSIRECORD *rec = NULL;
     UINT r = ERROR_FUNCTION_FAILED;
@@ -566,23 +579,9 @@ UINT WINAPI MsiViewModify( MSIHANDLE hView, MSIMODIFY eModifyMode,
     if( !query )
         return ERROR_INVALID_HANDLE;
 
-    view = query->view;
-    if( !view )
-        goto out;
-
-    if( !view->ops->modify )
-        goto out;
-
     rec = msihandle2msiinfo( hRecord, MSIHANDLETYPE_RECORD );
-    if( !rec )
-    {
-        r = ERROR_INVALID_HANDLE;
-        goto out;
-    }
+    r = MSI_ViewModify( query, eModifyMode, rec );
 
-    r = view->ops->modify( view, eModifyMode, rec );
-
-out:
     msiobj_release( &query->hdr );
     if( rec )
         msiobj_release( &rec->hdr );




More information about the wine-cvs mailing list