MSI: add a stub for MsiModifyView, fix a couple of bugs

Mike McCormack mike at codeweavers.com
Fri Jul 9 13:16:37 CDT 2004


ChangeLog:
<aric at codeweavers.com>
* add a stub for MsiModifyView, fix a couple of bugs
-------------- next part --------------
diff -ur dlls/msi.old/msi.spec dlls/msi/msi.spec
--- dlls/msi.old/msi.spec	2004-07-09 12:57:04.000000000 -0500
+++ dlls/msi/msi.spec	2004-07-09 13:12:14.000000000 -0500
@@ -160,7 +160,7 @@
 160 stdcall MsiViewFetch(long ptr)
 161 stub MsiViewGetErrorA
 162 stub MsiViewGetErrorW
-163 stub MsiViewModify
+163 stdcall MsiViewModify(long long long)
 164 stdcall MsiDatabaseIsTablePersistentA(long str)
 165 stdcall MsiDatabaseIsTablePersistentW(long wstr)
 166 stdcall MsiViewGetColumnInfo(long long ptr)
diff -ur dlls/msi.old/msiquery.c dlls/msi/msiquery.c
--- dlls/msi.old/msiquery.c	2004-07-09 12:57:04.000000000 -0500
+++ dlls/msi/msiquery.c	2004-07-09 13:11:06.000000000 -0500
@@ -194,7 +194,8 @@
             ERR("Error getting column type for %d\n", i );
             continue;
         }
-        if( type != MSITYPE_BINARY)
+        if (( type != MSITYPE_BINARY) && (type != (MSITYPE_BINARY |
+                                                   MSITYPE_NULLABLE)))
         {
             ret = view->ops->fetch_int( view, query->row, i, &ival );
             if( ret )
@@ -424,3 +425,10 @@
     FIXME("%ld %s %p %p\n", hInstall, debugstr_w(szFeature), piInstalled, piAction);
     return ERROR_CALL_NOT_IMPLEMENTED;
 }
+
+UINT WINAPI MsiViewModify(MSIHANDLE hView, MSIMODIFY eModifyMode, MSIHANDLE
+hRecord)
+{
+    FIXME("%ld %x %ld\n",hView, eModifyMode, hRecord);
+    return ERROR_CALL_NOT_IMPLEMENTED;
+}
diff -ur dlls/msi.old/record.c dlls/msi/record.c
--- dlls/msi.old/record.c	2004-07-09 12:57:04.000000000 -0500
+++ dlls/msi/record.c	2004-07-09 13:12:14.000000000 -0500
@@ -434,7 +434,10 @@
         return ERROR_INVALID_FIELD;
 
     if( rec->fields[iField].type != MSIFIELD_STREAM )
+    {
+        *sz = 0;
         return ERROR_INVALID_FIELD;
+    }
 
     stm = rec->fields[iField].u.stream;
     if( !stm )


More information about the wine-patches mailing list