msi: Integer columns can have the 'NOT NULL' modifier too

James Hawkins truiken at gmail.com
Thu Oct 19 19:46:17 CDT 2006


Hi,

This should be applied after msi[2/2].

Changelog:
* Integer columns can have the 'NOT NULL' modifier too.

 dlls/msi/database.c      |    4 +++-
 dlls/msi/tests/db.c      |    9 +++------
 dlls/msi/tests/install.c |    4 ++--
 3 files changed, 8 insertions(+), 9 deletions(-)

-- 
James Hawkins
-------------- next part --------------
diff --git a/dlls/msi/database.c b/dlls/msi/database.c
index 44c20e6..6b40adb 100644
--- a/dlls/msi/database.c
+++ b/dlls/msi/database.c
@@ -388,7 +388,9 @@ static LPWSTR msi_build_createsql_column
                 type = type_char;
                 sprintfW(size, size_fmt, ptr);
                 break;
-            case 'I': case 'i':
+            case 'i':
+                lstrcpyW(extra, type_notnull);
+            case 'I':
                 if (len == 2)
                     type = type_int;
                 else
diff --git a/dlls/msi/tests/db.c b/dlls/msi/tests/db.c
index 9a39451..7742d06 100644
--- a/dlls/msi/tests/db.c
+++ b/dlls/msi/tests/db.c
@@ -1433,17 +1433,14 @@ static void test_msiimport(void)
     count = MsiRecordGetFieldCount(rec);
     ok(count == 9, "Expected 9, got %d\n", count);
     ok(check_record(rec, 1, "s255"), "Expected s255\n");
+    ok(check_record(rec, 2, "i2"), "Expected i2\n");
+    ok(check_record(rec, 3, "i2"), "Expected i2\n");
     ok(check_record(rec, 4, "I2"), "Expected I2\n");
+    ok(check_record(rec, 5, "i4"), "Expected i4\n");
     ok(check_record(rec, 6, "I4"), "Expected I4\n");
     ok(check_record(rec, 7, "S255"), "Expected S255\n");
     ok(check_record(rec, 8, "S0"), "Expected S0\n");
     ok(check_record(rec, 9, "s0"), "Expected s0\n");
-    todo_wine
-    {
-        ok(check_record(rec, 2, "i2"), "Expected i2\n");
-        ok(check_record(rec, 3, "i2"), "Expected i2\n");
-        ok(check_record(rec, 5, "i4"), "Expected i4\n");
-    }
     MsiCloseHandle(rec);
 
     query = "SELECT * FROM `TestTable`";
diff --git a/dlls/msi/tests/install.c b/dlls/msi/tests/install.c
index fe856f7..f5a2eeb 100644
--- a/dlls/msi/tests/install.c
+++ b/dlls/msi/tests/install.c
@@ -764,13 +764,13 @@ static void test_packagecoltypes(void)
     count = MsiRecordGetFieldCount( rec );
     ok(r == ERROR_SUCCESS, "MsiViewGetColumnInfo failed\n");
     ok(count == 6, "Expected 6, got %d\n", count);
+    ok(check_record(rec, 1, "i2"), "wrong column label\n");
+    ok(check_record(rec, 2, "i4"), "wrong column label\n");
     ok(check_record(rec, 4, "S255"), "wrong column label\n");
     ok(check_record(rec, 5, "S32"), "wrong column label\n");
     ok(check_record(rec, 6, "S72"), "wrong column label\n");
     todo_wine
     {
-        ok(check_record(rec, 1, "i2"), "wrong column label\n");
-        ok(check_record(rec, 2, "i4"), "wrong column label\n");
         ok(check_record(rec, 3, "L64"), "wrong column label\n");
     }
 
-- 
1.4.2.1


More information about the wine-patches mailing list