Signed-off-by: Zebediah Figura z.figura12@gmail.com --- dlls/msi/tests/db.c | 632 +++++--------------------------------------- 1 file changed, 70 insertions(+), 562 deletions(-)
diff --git a/dlls/msi/tests/db.c b/dlls/msi/tests/db.c index d97c350219..da4e3b78c1 100644 --- a/dlls/msi/tests/db.c +++ b/dlls/msi/tests/db.c @@ -1021,19 +1021,7 @@ static void test_viewmodify(void)
r = MsiViewFetch(hview, &hrec); ok(r == ERROR_SUCCESS, "MsiViewFetch failed\n"); - - r = MsiRecordGetInteger(hrec, 1); - ok(r == 1, "Expected 1, got %d\n", r); - - sz = sizeof(buffer); - r = MsiRecordGetStringA(hrec, 2, buffer, &sz); - ok(r == ERROR_SUCCESS, "MsiRecordGetString failed\n"); - ok(!lstrcmpA(buffer, "bob"), "Expected bob, got %s\n", buffer); - - sz = sizeof(buffer); - r = MsiRecordGetStringA(hrec, 3, buffer, &sz); - ok(r == ERROR_SUCCESS, "MsiRecordGetString failed\n"); - ok(!lstrcmpA(buffer, "7654321"), "Expected 7654321, got %s\n", buffer); + check_record(hrec, 3, "1", "bob", "7654321");
/* update the view, non-primary key */ r = MsiRecordSetStringA(hrec, 3, "3141592"); @@ -1070,20 +1058,7 @@ static void test_viewmodify(void)
r = MsiViewFetch(hview, &hrec); ok(r == ERROR_SUCCESS, "MsiViewFetch failed\n"); - - r = MsiRecordGetInteger(hrec, 1); - ok(r == 1, "Expected 1, got %d\n", r); - - sz = sizeof(buffer); - r = MsiRecordGetStringA(hrec, 2, buffer, &sz); - ok(r == ERROR_SUCCESS, "MsiRecordGetString failed\n"); - ok(!lstrcmpA(buffer, "bob"), "Expected bob, got %s\n", buffer); - - sz = sizeof(buffer); - r = MsiRecordGetStringA(hrec, 3, buffer, &sz); - ok(r == ERROR_SUCCESS, "MsiRecordGetString failed\n"); - ok(!lstrcmpA(buffer, "3141592"), "Expected 3141592, got %s\n", buffer); - + check_record(hrec, 3, "1", "bob", "3141592"); r = MsiCloseHandle(hrec); ok(r == ERROR_SUCCESS, "failed to close record\n");
@@ -1218,8 +1193,6 @@ static void test_getcolinfo(void) { MSIHANDLE hdb, hview = 0, rec = 0; UINT r; - DWORD sz; - char buffer[0x20];
/* create an empty db */ hdb = create_db(); @@ -1236,10 +1209,7 @@ static void test_getcolinfo(void) rec = 0; r = MsiViewGetColumnInfo( hview, MSICOLINFO_NAMES, &rec ); ok( r == ERROR_SUCCESS, "failed to get names\n"); - sz = sizeof buffer; - r = MsiRecordGetStringA(rec, 1, buffer, &sz ); - ok( r == ERROR_SUCCESS, "failed to get string\n"); - ok( !strcmp(buffer,"Name"), "_Tables has wrong column name\n"); + check_record(rec, 1, "Name"); r = MsiCloseHandle( rec ); ok( r == ERROR_SUCCESS, "failed to close record handle\n");
@@ -1247,10 +1217,7 @@ static void test_getcolinfo(void) rec = 0; r = MsiViewGetColumnInfo( hview, MSICOLINFO_TYPES, &rec ); ok( r == ERROR_SUCCESS, "failed to get names\n"); - sz = sizeof buffer; - r = MsiRecordGetStringA(rec, 1, buffer, &sz ); - ok( r == ERROR_SUCCESS, "failed to get string\n"); - ok( !strcmp(buffer,"s64"), "_Tables has wrong column type\n"); + check_record(rec, 1, "s64"); r = MsiCloseHandle( rec ); ok( r == ERROR_SUCCESS, "failed to close record handle\n");
@@ -2025,9 +1992,6 @@ static void test_where(void) MSIHANDLE hdb = 0, rec, view; LPCSTR query; UINT r; - DWORD size; - CHAR buf[MAX_PATH]; - UINT count;
hdb = create_db(); ok( hdb, "failed to create db\n"); @@ -2068,11 +2032,6 @@ static void test_where(void) r = do_query(hdb, query, &rec); ok(r == ERROR_SUCCESS, "MsiViewFetch failed: %d\n", r); check_record(rec, 6, "2", "1", "", "one.cab", "", ""); - - r = MsiRecordGetInteger(rec, 1); - ok( 2 == r, "field wrong\n"); - r = MsiRecordGetInteger(rec, 2); - ok( 1 == r, "field wrong\n"); MsiCloseHandle( rec );
query = "SELECT `DiskId` FROM `Media` WHERE `LastSequence` >= 1 AND DiskId >= 0"; @@ -2084,23 +2043,12 @@ static void test_where(void)
r = MsiViewFetch(view, &rec); ok( r == ERROR_SUCCESS, "failed to fetch view: %d\n", r ); - - count = MsiRecordGetFieldCount( rec ); - ok( count == 1, "Expected 1 record fields, got %d\n", count ); - - size = MAX_PATH; - r = MsiRecordGetStringA( rec, 1, buf, &size ); - ok( r == ERROR_SUCCESS, "failed to get record string: %d\n", r ); - ok( !lstrcmpA( buf, "2" ), "For (row %d, column 1) expected '%d', got %s\n", 0, 2, buf ); + check_record(rec, 1, "2"); MsiCloseHandle( rec );
r = MsiViewFetch(view, &rec); ok( r == ERROR_SUCCESS, "failed to fetch view: %d\n", r ); - - size = MAX_PATH; - r = MsiRecordGetStringA( rec, 1, buf, &size ); - ok( r == ERROR_SUCCESS, "failed to get record string: %d\n", r ); - ok( !lstrcmpA( buf, "3" ), "For (row %d, column 1) expected '%d', got %s\n", 1, 3, buf ); + check_record(rec, 1, "3"); MsiCloseHandle( rec );
r = MsiViewFetch(view, &rec); @@ -3202,40 +3150,12 @@ static void test_try_transform(void)
r = MsiViewFetch(hview, &hrec); ok(r == ERROR_SUCCESS, "view fetch failed\n"); - - r = MsiRecordGetInteger(hrec, 1); - ok(r == 1, "Expected 1, got %d\n", r); - - sz = sizeof buffer; - r = MsiRecordGetStringA(hrec, 2, buffer, &sz); - ok(r == ERROR_SUCCESS, "record get string failed\n"); - ok(!lstrcmpA(buffer, "c"), "Expected c, got %s\n", buffer); - - r = MsiRecordGetInteger(hrec, 3); - ok(r == 0x80000000, "Expected 0x80000000, got %d\n", r); - - r = MsiRecordGetInteger(hrec, 4); - ok(r == 5, "Expected 5, got %d\n", r); - + check_record(hrec, 4, "1", "c", "", "5"); MsiCloseHandle(hrec);
r = MsiViewFetch(hview, &hrec); ok(r == ERROR_SUCCESS, "view fetch failed\n"); - - r = MsiRecordGetInteger(hrec, 1); - ok(r == 2, "Expected 2, got %d\n", r); - - sz = sizeof buffer; - r = MsiRecordGetStringA(hrec, 2, buffer, &sz); - ok(r == ERROR_SUCCESS, "record get string failed\n"); - ok(!lstrcmpA(buffer, "b"), "Expected b, got %s\n", buffer); - - r = MsiRecordGetInteger(hrec, 3); - ok(r == 0x80000000, "Expected 0x80000000, got %d\n", r); - - r = MsiRecordGetInteger(hrec, 4); - ok(r == 0x80000000, "Expected 0x80000000, got %d\n", r); - + check_record(hrec, 4, "2", "b", "", ""); MsiCloseHandle(hrec);
r = MsiViewFetch(hview, &hrec); @@ -3748,8 +3668,6 @@ static void test_temporary_table(void) MSIHANDLE hdb = 0, view = 0, rec; const char *query; UINT r; - char buf[0x10]; - DWORD sz;
cond = MsiDatabaseIsTablePersistentA(0, NULL); ok( cond == MSICONDITION_ERROR, "wrong return condition\n"); @@ -3828,18 +3746,9 @@ static void test_temporary_table(void) ok(r == ERROR_SUCCESS, "failed to query table\n"); r = MsiViewGetColumnInfo(view, MSICOLINFO_TYPES, &rec); ok(r == ERROR_SUCCESS, "failed to get column info\n"); - - sz = sizeof buf; - r = MsiRecordGetStringA(rec, 1, buf, &sz); - ok(r == ERROR_SUCCESS, "failed to get string\n"); - ok( 0 == strcmp("G255", buf), "wrong column type\n"); - - sz = sizeof buf; - r = MsiRecordGetStringA(rec, 2, buf, &sz); - ok(r == ERROR_SUCCESS, "failed to get string\n"); - ok( 0 == strcmp("j2", buf), "wrong column type\n"); - + check_record(rec, 2, "G255", "j2"); MsiCloseHandle( rec ); + MsiViewClose( view ); MsiCloseHandle( view );
@@ -4152,9 +4061,7 @@ static void test_integers(void) static void test_update(void) { MSIHANDLE hdb = 0, view = 0, rec = 0; - CHAR result[MAX_PATH]; const char *query; - DWORD size; UINT r;
/* just MsiOpenDatabase should not create a file */ @@ -4253,22 +4160,12 @@ static void test_update(void)
r = MsiViewFetch(view, &rec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - - size = MAX_PATH; - r = MsiRecordGetStringA(rec, 1, result, &size); - ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - ok(!lstrcmpA(result, "this is text"), "Expected `this is text`, got %s\n", result); - + check_record(rec, 1, "this is text"); MsiCloseHandle(rec);
r = MsiViewFetch(view, &rec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - - size = MAX_PATH; - r = MsiRecordGetStringA(rec, 1, result, &size); - ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - ok(!result[0], "Expected an empty string, got %s\n", result); - + check_record(rec, 1, ""); MsiCloseHandle(rec);
r = MsiViewFetch(view, &rec); @@ -4299,22 +4196,12 @@ static void test_update(void)
r = MsiViewFetch(view, &rec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - - size = MAX_PATH; - r = MsiRecordGetStringA(rec, 1, result, &size); - ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - ok(!lstrcmpA(result, "this is text"), "Expected `this is text`, got %s\n", result); - + check_record(rec, 1, "this is text"); MsiCloseHandle(rec);
r = MsiViewFetch(view, &rec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - - size = MAX_PATH; - r = MsiRecordGetStringA(rec, 1, result, &size); - ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - ok(!result[0], "Expected an empty string, got %s\n", result); - + check_record(rec, 1, ""); MsiCloseHandle(rec);
r = MsiViewFetch(view, &rec); @@ -4345,32 +4232,17 @@ static void test_update(void)
r = MsiViewFetch(view, &rec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - - size = MAX_PATH; - r = MsiRecordGetStringA(rec, 1, result, &size); - ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - ok(!lstrcmpA(result, "this is text"), "Expected `this is text`, got %s\n", result); - + check_record(rec, 1, "this is text"); MsiCloseHandle(rec);
r = MsiViewFetch(view, &rec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - - size = MAX_PATH; - r = MsiRecordGetStringA(rec, 1, result, &size); - ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - ok(!lstrcmpA(result, "this is text"), "Expected `this is text`, got %s\n", result); - + check_record(rec, 1, "this is text"); MsiCloseHandle(rec);
r = MsiViewFetch(view, &rec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - - size = MAX_PATH; - r = MsiRecordGetStringA(rec, 1, result, &size); - ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - ok(!lstrcmpA(result, "this is text"), "Expected `this is text`, got %s\n", result); - + check_record(rec, 1, "this is text"); MsiCloseHandle(rec);
r = MsiViewFetch(view, &rec); @@ -4498,8 +4370,6 @@ static void test_tables_order(void) const char *query; MSIHANDLE hdb = 0, hview = 0, hrec = 0; UINT r; - char buffer[100]; - DWORD sz;
r = MsiOpenDatabaseW(msifileW, MSIDBOPEN_CREATE, &hdb); ok(r == ERROR_SUCCESS, "MsiOpenDatabase failed\n"); @@ -4532,28 +4402,19 @@ static void test_tables_order(void)
r = MsiViewFetch(hview, &hrec); ok(r == ERROR_SUCCESS, "MsiViewFetch failed\n"); - sz = sizeof(buffer); - r = MsiRecordGetStringA(hrec, 1, buffer, &sz); - ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - ok(!lstrcmpA(buffer, "foo"), "Expected foo, got %s\n", buffer); + check_record(hrec, 1, "foo"); r = MsiCloseHandle(hrec); ok(r == ERROR_SUCCESS, "failed to close record\n");
r = MsiViewFetch(hview, &hrec); ok(r == ERROR_SUCCESS, "MsiViewFetch failed\n"); - sz = sizeof(buffer); - r = MsiRecordGetStringA(hrec, 1, buffer, &sz); - ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - ok(!lstrcmpA(buffer, "baz"), "Expected baz, got %s\n", buffer); + check_record(hrec, 1, "baz"); r = MsiCloseHandle(hrec); ok(r == ERROR_SUCCESS, "failed to close record\n");
r = MsiViewFetch(hview, &hrec); ok(r == ERROR_SUCCESS, "MsiViewFetch failed\n"); - sz = sizeof(buffer); - r = MsiRecordGetStringA(hrec, 1, buffer, &sz); - ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - ok(!lstrcmpA(buffer, "bar"), "Expected bar, got %s\n", buffer); + check_record(hrec, 1, "bar"); r = MsiCloseHandle(hrec); ok(r == ERROR_SUCCESS, "failed to close record\n");
@@ -4565,7 +4426,7 @@ static void test_tables_order(void) /* The names of the tables in the _Columns table must be in the same order as these names are created in the strings table. */ - query = "SELECT * FROM `_Columns`"; + query = "SELECT `Table`, `Number`, `Name` FROM `_Columns`"; r = MsiDatabaseOpenViewA(hdb, query, &hview); ok(r == ERROR_SUCCESS, "MsiDatabaseOpenView failed\n"); r = MsiViewExecute(hview, 0); @@ -4573,66 +4434,31 @@ static void test_tables_order(void)
r = MsiViewFetch(hview, &hrec); ok(r == ERROR_SUCCESS, "MsiViewFetch failed\n"); - sz = sizeof(buffer); - r = MsiRecordGetStringA(hrec, 1, buffer, &sz); - ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - ok(!lstrcmpA(buffer, "foo"), "Expected foo, got %s\n", buffer); - sz = sizeof(buffer); - r = MsiRecordGetStringA(hrec, 3, buffer, &sz); - ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - ok(!lstrcmpA(buffer, "baz"), "Expected baz, got %s\n", buffer); + check_record(hrec, 3, "foo", "1", "baz"); r = MsiCloseHandle(hrec); ok(r == ERROR_SUCCESS, "failed to close record\n");
r = MsiViewFetch(hview, &hrec); ok(r == ERROR_SUCCESS, "MsiViewFetch failed\n"); - sz = sizeof(buffer); - r = MsiRecordGetStringA(hrec, 1, buffer, &sz); - ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - ok(!lstrcmpA(buffer, "baz"), "Expected baz, got %s\n", buffer); - sz = sizeof(buffer); - r = MsiRecordGetStringA(hrec, 3, buffer, &sz); - ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - ok(!lstrcmpA(buffer, "bar"), "Expected bar, got %s\n", buffer); + check_record(hrec, 3, "baz", "1", "bar"); r = MsiCloseHandle(hrec); ok(r == ERROR_SUCCESS, "failed to close record\n");
r = MsiViewFetch(hview, &hrec); ok(r == ERROR_SUCCESS, "MsiViewFetch failed\n"); - sz = sizeof(buffer); - r = MsiRecordGetStringA(hrec, 1, buffer, &sz); - ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - ok(!lstrcmpA(buffer, "baz"), "Expected baz, got %s\n", buffer); - sz = sizeof(buffer); - r = MsiRecordGetStringA(hrec, 3, buffer, &sz); - ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - ok(!lstrcmpA(buffer, "baz"), "Expected baz, got %s\n", buffer); + check_record(hrec, 3, "baz", "2", "baz"); r = MsiCloseHandle(hrec); ok(r == ERROR_SUCCESS, "failed to close record\n");
r = MsiViewFetch(hview, &hrec); ok(r == ERROR_SUCCESS, "MsiViewFetch failed\n"); - sz = sizeof(buffer); - r = MsiRecordGetStringA(hrec, 1, buffer, &sz); - ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - ok(!lstrcmpA(buffer, "baz"), "Expected baz, got %s\n", buffer); - sz = sizeof(buffer); - r = MsiRecordGetStringA(hrec, 3, buffer, &sz); - ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - ok(!lstrcmpA(buffer, "foo"), "Expected foo, got %s\n", buffer); + check_record(hrec, 3, "baz", "3", "foo"); r = MsiCloseHandle(hrec); ok(r == ERROR_SUCCESS, "failed to close record\n");
r = MsiViewFetch(hview, &hrec); ok(r == ERROR_SUCCESS, "MsiViewFetch failed\n"); - sz = sizeof(buffer); - r = MsiRecordGetStringA(hrec, 1, buffer, &sz); - ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - ok(!lstrcmpA(buffer, "bar"), "Expected bar, got %s\n", buffer); - sz = sizeof(buffer); - r = MsiRecordGetStringA(hrec, 3, buffer, &sz); - ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - ok(!lstrcmpA(buffer, "foo"), "Expected foo, got %s\n", buffer); + check_record(hrec, 3, "bar", "1", "foo"); r = MsiCloseHandle(hrec); ok(r == ERROR_SUCCESS, "failed to close record\n");
@@ -4652,8 +4478,6 @@ static void test_rows_order(void) const char *query; MSIHANDLE hdb = 0, hview = 0, hrec = 0; UINT r; - char buffer[100]; - DWORD sz;
r = MsiOpenDatabaseW(msifileW, MSIDBOPEN_CREATE, &hdb); ok(r == ERROR_SUCCESS, "MsiOpenDatabase failed\n"); @@ -4722,53 +4546,25 @@ static void test_rows_order(void)
r = MsiViewFetch(hview, &hrec); ok(r == ERROR_SUCCESS, "MsiViewFetch failed\n"); - sz = sizeof(buffer); - r = MsiRecordGetStringA(hrec, 1, buffer, &sz); - ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - ok(!lstrcmpA(buffer, "A"), "Expected A, got %s\n", buffer); - sz = sizeof(buffer); - r = MsiRecordGetStringA(hrec, 2, buffer, &sz); - ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - ok(!lstrcmpA(buffer, "B"), "Expected B, got %s\n", buffer); + check_record(hrec, 2, "A", "B"); r = MsiCloseHandle(hrec); ok(r == ERROR_SUCCESS, "failed to close record\n");
r = MsiViewFetch(hview, &hrec); ok(r == ERROR_SUCCESS, "MsiViewFetch failed\n"); - sz = sizeof(buffer); - r = MsiRecordGetStringA(hrec, 1, buffer, &sz); - ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - ok(!lstrcmpA(buffer, "C"), "Expected E, got %s\n", buffer); - sz = sizeof(buffer); - r = MsiRecordGetStringA(hrec, 2, buffer, &sz); - ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - ok(!lstrcmpA(buffer, "E"), "Expected E, got %s\n", buffer); + check_record(hrec, 2, "C", "E"); r = MsiCloseHandle(hrec); ok(r == ERROR_SUCCESS, "failed to close record\n");
r = MsiViewFetch(hview, &hrec); ok(r == ERROR_SUCCESS, "MsiViewFetch failed\n"); - sz = sizeof(buffer); - r = MsiRecordGetStringA(hrec, 1, buffer, &sz); - ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - ok(!lstrcmpA(buffer, "D"), "Expected D, got %s\n", buffer); - sz = sizeof(buffer); - r = MsiRecordGetStringA(hrec, 2, buffer, &sz); - ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - ok(!lstrcmpA(buffer, "E"), "Expected E, got %s\n", buffer); + check_record(hrec, 2, "D", "E"); r = MsiCloseHandle(hrec); ok(r == ERROR_SUCCESS, "failed to close record\n");
r = MsiViewFetch(hview, &hrec); ok(r == ERROR_SUCCESS, "MsiViewFetch failed\n"); - sz = sizeof(buffer); - r = MsiRecordGetStringA(hrec, 1, buffer, &sz); - ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - ok(!lstrcmpA(buffer, "F"), "Expected F, got %s\n", buffer); - sz = sizeof(buffer); - r = MsiRecordGetStringA(hrec, 2, buffer, &sz); - ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - ok(!lstrcmpA(buffer, "A"), "Expected A, got %s\n", buffer); + check_record(hrec, 2, "F", "A"); r = MsiCloseHandle(hrec); ok(r == ERROR_SUCCESS, "failed to close record\n");
@@ -4954,8 +4750,6 @@ static void test_select_markers(void) MSIHANDLE hdb = 0, rec, view, res; LPCSTR query; UINT r; - DWORD size; - CHAR buf[MAX_PATH];
hdb = create_db(); ok( hdb, "failed to create db\n"); @@ -4993,38 +4787,12 @@ static void test_select_markers(void)
r = MsiViewFetch(view, &res); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - - size = MAX_PATH; - r = MsiRecordGetStringA(res, 1, buf, &size); - ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - ok(!lstrcmpA(buf, "apple"), "Expected apple, got %s\n", buf); - - size = MAX_PATH; - r = MsiRecordGetStringA(res, 2, buf, &size); - ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - ok(!lstrcmpA(buf, "two"), "Expected two, got %s\n", buf); - - r = MsiRecordGetInteger(res, 3); - ok(r == 1, "Expected 1, got %d\n", r); - + check_record(res, 3, "apple", "two", "1"); MsiCloseHandle(res);
r = MsiViewFetch(view, &res); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - - size = MAX_PATH; - r = MsiRecordGetStringA(res, 1, buf, &size); - ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - ok(!lstrcmpA(buf, "apple"), "Expected apple, got %s\n", buf); - - size = MAX_PATH; - r = MsiRecordGetStringA(res, 2, buf, &size); - ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - ok(!lstrcmpA(buf, "two"), "Expected two, got %s\n", buf); - - r = MsiRecordGetInteger(res, 3); - ok(r == 2, "Expected 2, got %d\n", r); - + check_record(res, 3, "apple", "two", "2"); MsiCloseHandle(res);
r = MsiViewFetch(view, &res); @@ -5046,38 +4814,12 @@ static void test_select_markers(void)
r = MsiViewFetch(view, &res); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - - size = MAX_PATH; - r = MsiRecordGetStringA(res, 1, buf, &size); - ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - ok(!lstrcmpA(buf, "apple"), "Expected apple, got %s\n", buf); - - size = MAX_PATH; - r = MsiRecordGetStringA(res, 2, buf, &size); - ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - ok(!lstrcmpA(buf, "two"), "Expected two, got %s\n", buf); - - r = MsiRecordGetInteger(res, 3); - ok(r == 2, "Expected 2, got %d\n", r); - + check_record(res, 3, "apple", "two", "2"); MsiCloseHandle(res);
r = MsiViewFetch(view, &res); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - - size = MAX_PATH; - r = MsiRecordGetStringA(res, 1, buf, &size); - ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - ok(!lstrcmpA(buf, "banana"), "Expected banana, got %s\n", buf); - - size = MAX_PATH; - r = MsiRecordGetStringA(res, 2, buf, &size); - ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - ok(!lstrcmpA(buf, "three"), "Expected three, got %s\n", buf); - - r = MsiRecordGetInteger(res, 3); - ok(r == 3, "Expected 3, got %d\n", r); - + check_record(res, 3, "banana", "three", "3"); MsiCloseHandle(res);
r = MsiViewFetch(view, &res); @@ -5508,7 +5250,7 @@ static void test_stringtable(void) const char *query; char buffer[MAX_PATH]; WCHAR data[MAX_PATH]; - DWORD sz, read; + DWORD read; UINT r;
static const DWORD mode = STGM_DIRECT | STGM_READ | STGM_SHARE_DENY_WRITE; @@ -5593,18 +5335,7 @@ static void test_stringtable(void)
r = MsiViewFetch(hview, &hrec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - - r = MsiRecordGetFieldCount(hrec); - ok(r == 2, "Expected 2, got %d\n", r); - - r = MsiRecordGetInteger(hrec, 1); - ok(r == 1, "Expected 1, got %d\n", r); - - sz = sizeof(buffer); - r = MsiRecordGetStringA(hrec, 2, buffer, &sz); - ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - ok(!lstrcmpA(buffer, "one"), "Expected one, got '%s'\n", buffer); - + check_record(hrec, 2, "1", "one"); r = MsiCloseHandle(hrec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
@@ -5627,35 +5358,13 @@ static void test_stringtable(void)
r = MsiViewFetch(hview, &hrec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - - r = MsiRecordGetFieldCount(hrec); - ok(r == 2, "Expected 2, got %d\n", r); - - r = MsiRecordGetInteger(hrec, 1); - ok(r == 2, "Expected 2, got %d\n", r); - - sz = sizeof(buffer); - r = MsiRecordGetStringA(hrec, 2, buffer, &sz); - ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - ok(!lstrcmpA(buffer, "two"), "Expected two, got '%s'\n", buffer); - + check_record(hrec, 2, "2", "two"); r = MsiCloseHandle(hrec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
r = MsiViewFetch(hview, &hrec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - - r = MsiRecordGetFieldCount(hrec); - ok(r == 2, "Expected 2, got %d\n", r); - - r = MsiRecordGetInteger(hrec, 1); - ok(r == 5, "Expected 5, got %d\n", r); - - sz = sizeof(buffer); - r = MsiRecordGetStringA(hrec, 2, buffer, &sz); - ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - ok(!lstrcmpA(buffer, "five"), "Expected five, got '%s'\n", buffer); - + check_record(hrec, 2, "5", "five"); r = MsiCloseHandle(hrec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
@@ -5741,8 +5450,6 @@ static void test_viewmodify_delete(void) MSIHANDLE hdb = 0, hview = 0, hrec = 0; UINT r; const char *query; - char buffer[0x100]; - DWORD sz;
DeleteFileA(msifile);
@@ -5806,20 +5513,7 @@ static void test_viewmodify_delete(void) ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); r = MsiViewFetch(hview, &hrec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - - r = MsiRecordGetInteger(hrec, 1); - ok(r == 3, "Expected 3, got %d\n", r); - - sz = sizeof(buffer); - r = MsiRecordGetStringA(hrec, 2, buffer, &sz); - ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - ok(!lstrcmpA(buffer, "Cindy"), "Expected Cindy, got %s\n", buffer); - - sz = sizeof(buffer); - r = MsiRecordGetStringA(hrec, 3, buffer, &sz); - ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - ok(!lstrcmpA(buffer, "2937550"), "Expected 2937550, got %s\n", buffer); - + check_record(hrec, 3, "3", "Cindy", "2937550"); r = MsiCloseHandle(hrec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
@@ -5942,10 +5636,9 @@ static void test_defaultdatabase(void) static void test_order(void) { MSIHANDLE hdb, hview, hrec; - CHAR buffer[MAX_PATH]; LPCSTR query; - UINT r, sz; int val; + UINT r;
hdb = create_db(); ok(hdb, "failed to create db\n"); @@ -6178,15 +5871,7 @@ static void test_order(void)
r = MsiViewFetch(hview, &hrec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - - sz = sizeof(buffer); - r = MsiRecordGetStringA(hrec, 1, buffer, &sz); - ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - ok(!lstrcmpA(buffer, "dos"), "Expected "dos", got "%s"\n", buffer); - - r = MsiRecordGetInteger(hrec, 2); - ok(r == 3, "Expected 3, got %d\n", r); - + check_record(hrec, 2, "dos", "3"); MsiCloseHandle(hrec);
r = MsiViewFetch(hview, &hrec); @@ -6317,9 +6002,7 @@ static void test_deleterow(void) { MSIHANDLE hdb, hview, hrec; const char *query; - char buf[MAX_PATH]; UINT r; - DWORD size;
DeleteFileA(msifile);
@@ -6358,12 +6041,7 @@ static void test_deleterow(void)
r = MsiViewFetch(hview, &hrec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - - size = MAX_PATH; - r = MsiRecordGetStringA(hrec, 1, buf, &size); - ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - ok(!lstrcmpA(buf, "two"), "Expected two, got %s\n", buf); - + check_record(hrec, 1, "two"); MsiCloseHandle(hrec);
r = MsiViewFetch(hview, &hrec); @@ -6384,9 +6062,7 @@ static void test_quotes(void) { MSIHANDLE hdb, hview, hrec; const char *query; - char buf[MAX_PATH]; UINT r; - DWORD size;
DeleteFileA(msifile);
@@ -6437,13 +6113,7 @@ static void test_quotes(void)
r = MsiViewFetch(hview, &hrec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - - size = MAX_PATH; - r = MsiRecordGetStringA(hrec, 1, buf, &size); - ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - ok(!lstrcmpA(buf, "This is a "string" ok"), - "Expected "This is a "string" ok", got %s\n", buf); - + check_record(hrec, 1, "This is a "string" ok"); MsiCloseHandle(hrec);
r = MsiViewFetch(hview, &hrec); @@ -6468,13 +6138,7 @@ static void test_quotes(void)
r = MsiViewFetch(hview, &hrec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - - size = MAX_PATH; - r = MsiRecordGetStringA(hrec, 1, buf, &size); - ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - ok(!lstrcmpA(buf, "This is a new 'string' ok"), - "Expected "This is a new 'string' ok", got %s\n", buf); - + check_record(hrec, 1, "This is a new 'string' ok"); MsiCloseHandle(hrec);
r = MsiViewFetch(hview, &hrec); @@ -6490,9 +6154,7 @@ static void test_carriagereturn(void) { MSIHANDLE hdb, hview, hrec; const char *query; - char buf[MAX_PATH]; UINT r; - DWORD size;
DeleteFileA(msifile);
@@ -6634,32 +6296,17 @@ static void test_carriagereturn(void)
r = MsiViewFetch(hview, &hrec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - - size = MAX_PATH; - r = MsiRecordGetStringA(hrec, 1, buf, &size); - ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - ok(!lstrcmpA(buf, "\rOne"), "Expected "\rOne", got "%s"\n", buf); - + check_record(hrec, 1, "\rOne"); MsiCloseHandle(hrec);
r = MsiViewFetch(hview, &hrec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - - size = MAX_PATH; - r = MsiRecordGetStringA(hrec, 1, buf, &size); - ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - ok(!lstrcmpA(buf, "Tw\ro"), "Expected "Tw\ro", got "%s"\n", buf); - + check_record(hrec, 1, "Tw\ro"); MsiCloseHandle(hrec);
r = MsiViewFetch(hview, &hrec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - - size = MAX_PATH; - r = MsiRecordGetStringA(hrec, 1, buf, &size); - ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - ok(!lstrcmpA(buf, "Three\r"), "Expected "Three\r", got "%s"\n", buf); - + check_record(hrec, 1, "Three\r"); MsiCloseHandle(hrec);
r = MsiViewFetch(hview, &hrec); @@ -6676,9 +6323,7 @@ static void test_noquotes(void) { MSIHANDLE hdb, hview, hrec; const char *query; - char buf[MAX_PATH]; UINT r; - DWORD size;
DeleteFileA(msifile);
@@ -6709,32 +6354,17 @@ static void test_noquotes(void)
r = MsiViewFetch(hview, &hrec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - - size = MAX_PATH; - r = MsiRecordGetStringA(hrec, 1, buf, &size); - ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - ok(!lstrcmpA(buf, "Table"), "Expected "Table", got "%s"\n", buf); - + check_record(hrec, 1, "Table"); MsiCloseHandle(hrec);
r = MsiViewFetch(hview, &hrec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - - size = MAX_PATH; - r = MsiRecordGetStringA(hrec, 1, buf, &size); - ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - ok(!lstrcmpA(buf, "Table2"), "Expected "Table2", got "%s"\n", buf); - + check_record(hrec, 1, "Table2"); MsiCloseHandle(hrec);
r = MsiViewFetch(hview, &hrec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - - size = MAX_PATH; - r = MsiRecordGetStringA(hrec, 1, buf, &size); - ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - ok(!lstrcmpA(buf, "Table3"), "Expected "Table3", got "%s"\n", buf); - + check_record(hrec, 1, "Table3"); MsiCloseHandle(hrec);
r = MsiViewFetch(hview, &hrec); @@ -6743,7 +6373,7 @@ static void test_noquotes(void) MsiViewClose(hview); MsiCloseHandle(hview);
- query = "SELECT * FROM `_Columns`"; + query = "SELECT `Table`, `Number`, `Name` FROM `_Columns`"; r = MsiDatabaseOpenViewA(hdb, query, &hview); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); r = MsiViewExecute(hview, 0); @@ -6751,56 +6381,17 @@ static void test_noquotes(void)
r = MsiViewFetch(hview, &hrec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - - size = MAX_PATH; - r = MsiRecordGetStringA(hrec, 1, buf, &size); - ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - ok(!lstrcmpA(buf, "Table"), "Expected "Table", got "%s"\n", buf); - - r = MsiRecordGetInteger(hrec, 2); - ok(r == 1, "Expected 1, got %d\n", r); - - size = MAX_PATH; - r = MsiRecordGetStringA(hrec, 3, buf, &size); - ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - ok(!lstrcmpA(buf, "A"), "Expected "A", got "%s"\n", buf); - + check_record(hrec, 3, "Table", "1", "A"); MsiCloseHandle(hrec);
r = MsiViewFetch(hview, &hrec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - - size = MAX_PATH; - r = MsiRecordGetStringA(hrec, 1, buf, &size); - ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - ok(!lstrcmpA(buf, "Table2"), "Expected "Table2", got "%s"\n", buf); - - r = MsiRecordGetInteger(hrec, 2); - ok(r == 1, "Expected 1, got %d\n", r); - - size = MAX_PATH; - r = MsiRecordGetStringA(hrec, 3, buf, &size); - ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - ok(!lstrcmpA(buf, "A"), "Expected "A", got "%s"\n", buf); - + check_record(hrec, 3, "Table2", "1", "A"); MsiCloseHandle(hrec);
r = MsiViewFetch(hview, &hrec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - - size = MAX_PATH; - r = MsiRecordGetStringA(hrec, 1, buf, &size); - ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - ok(!lstrcmpA(buf, "Table3"), "Expected "Table3", got "%s"\n", buf); - - r = MsiRecordGetInteger(hrec, 2); - ok(r == 1, "Expected 1, got %d\n", r); - - size = MAX_PATH; - r = MsiRecordGetStringA(hrec, 3, buf, &size); - ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - ok(!lstrcmpA(buf, "A"), "Expected "A", got "%s"\n", buf); - + check_record(hrec, 3, "Table3", "1", "A"); MsiCloseHandle(hrec);
r = MsiViewFetch(hview, &hrec); @@ -6853,12 +6444,7 @@ static void test_noquotes(void)
r = MsiViewFetch(hview, &hrec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - - size = MAX_PATH; - r = MsiRecordGetStringA(hrec, 1, buf, &size); - ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - ok(!lstrcmpA(buf, "hi"), "Expected "hi", got "%s"\n", buf); - + check_record(hrec, 1, "hi"); MsiCloseHandle(hrec);
r = MsiViewFetch(hview, &hrec); @@ -6955,9 +6541,7 @@ static void test_viewmodify_refresh(void) { MSIHANDLE hdb, hview, hrec; const char *query; - char buffer[MAX_PATH]; UINT r; - DWORD size;
DeleteFileA(msifile);
@@ -6987,17 +6571,9 @@ static void test_viewmodify_refresh(void)
r = MsiViewModify(hview, MSIMODIFY_REFRESH, hrec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - - size = MAX_PATH; - r = MsiRecordGetStringA(hrec, 1, buffer, &size); - ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - ok(!lstrcmpA(buffer, "hi"), "Expected "hi", got "%s"\n", buffer); - ok(size == 2, "Expected 2, got %d\n", size); - - r = MsiRecordGetInteger(hrec, 2); - ok(r == 2, "Expected 2, got %d\n", r); - + check_record(hrec, 2, "hi", "2"); MsiCloseHandle(hrec); + MsiViewClose(hview); MsiCloseHandle(hview);
@@ -7024,17 +6600,9 @@ static void test_viewmodify_refresh(void)
r = MsiViewModify(hview, MSIMODIFY_REFRESH, hrec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - - size = MAX_PATH; - r = MsiRecordGetStringA(hrec, 1, buffer, &size); - ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - ok(!lstrcmpA(buffer, "hello"), "Expected "hello", got "%s"\n", buffer); - ok(size == 5, "Expected 5, got %d\n", size); - - r = MsiRecordGetInteger(hrec, 2); - ok(r == 2, "Expected 2, got %d\n", r); - + check_record(hrec, 2, "hello", "2"); MsiCloseHandle(hrec); + MsiViewClose(hview); MsiCloseHandle(hview); MsiCloseHandle(hdb); @@ -7421,9 +6989,7 @@ error: static void test_droptable(void) { MSIHANDLE hdb, hview, hrec; - CHAR buf[MAX_PATH]; LPCSTR query; - DWORD size; UINT r;
r = MsiOpenDatabaseW(msifileW, MSIDBOPEN_CREATE, &hdb); @@ -7445,17 +7011,13 @@ static void test_droptable(void)
r = MsiViewFetch(hview, &hrec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - - size = MAX_PATH; - r = MsiRecordGetStringA(hrec, 1, buf, &size); - ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - ok(!lstrcmpA(buf, "One"), "Expected "One", got "%s"\n", buf); - + check_record(hrec, 1, "One"); MsiCloseHandle(hrec); + MsiViewClose(hview); MsiCloseHandle(hview);
- query = "SELECT * FROM `_Columns` WHERE `Table` = 'One'"; + query = "SELECT `Table`, `Number`, `Name` FROM `_Columns` WHERE `Table` = 'One'"; r = MsiDatabaseOpenViewA(hdb, query, &hview); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); r = MsiViewExecute(hview, 0); @@ -7463,20 +7025,7 @@ static void test_droptable(void)
r = MsiViewFetch(hview, &hrec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - - size = MAX_PATH; - r = MsiRecordGetStringA(hrec, 1, buf, &size); - ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - ok(!lstrcmpA(buf, "One"), "Expected "One", got "%s"\n", buf); - - r = MsiRecordGetInteger(hrec, 2); - ok(r == 1, "Expected 1, got %d\n", r); - - size = MAX_PATH; - r = MsiRecordGetStringA(hrec, 3, buf, &size); - ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - ok(!lstrcmpA(buf, "A"), "Expected "A", got "%s"\n", buf); - + check_record(hrec, 3, "One", "1", "A"); MsiCloseHandle(hrec);
r = MsiViewFetch(hview, &hrec); @@ -7557,17 +7106,13 @@ static void test_droptable(void)
r = MsiViewFetch(hview, &hrec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - - size = MAX_PATH; - r = MsiRecordGetStringA(hrec, 1, buf, &size); - ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - ok(!lstrcmpA(buf, "One"), "Expected "One", got "%s"\n", buf); - + check_record(hrec, 1, "One"); MsiCloseHandle(hrec); + MsiViewClose(hview); MsiCloseHandle(hview);
- query = "SELECT * FROM `_Columns` WHERE `Table` = 'One'"; + query = "SELECT `Table`, `Number`, `Name` FROM `_Columns` WHERE `Table` = 'One'"; r = MsiDatabaseOpenViewA(hdb, query, &hview); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); r = MsiViewExecute(hview, 0); @@ -7575,38 +7120,12 @@ static void test_droptable(void)
r = MsiViewFetch(hview, &hrec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - - size = MAX_PATH; - r = MsiRecordGetStringA(hrec, 1, buf, &size); - ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - ok(!lstrcmpA(buf, "One"), "Expected "One", got "%s"\n", buf); - - r = MsiRecordGetInteger(hrec, 2); - ok(r == 1, "Expected 1, got %d\n", r); - - size = MAX_PATH; - r = MsiRecordGetStringA(hrec, 3, buf, &size); - ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - ok(!lstrcmpA(buf, "B"), "Expected "B", got "%s"\n", buf); - + check_record(hrec, 3, "One", "1", "B"); MsiCloseHandle(hrec);
r = MsiViewFetch(hview, &hrec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - - size = MAX_PATH; - r = MsiRecordGetStringA(hrec, 1, buf, &size); - ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - ok(!lstrcmpA(buf, "One"), "Expected "One", got "%s"\n", buf); - - r = MsiRecordGetInteger(hrec, 2); - ok(r == 2, "Expected 2, got %d\n", r); - - size = MAX_PATH; - r = MsiRecordGetStringA(hrec, 3, buf, &size); - ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - ok(!lstrcmpA(buf, "C"), "Expected "C", got "%s"\n", buf); - + check_record(hrec, 3, "One", "2", "C"); MsiCloseHandle(hrec);
r = MsiViewFetch(hview, &hrec); @@ -8644,12 +8163,7 @@ static void test_createtable(void)
res = MsiViewGetColumnInfo( htab, MSICOLINFO_NAMES, &hrec ); ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res); - - buffer[0] = 0; - size = sizeof(buffer); - res = MsiRecordGetStringA(hrec, 1, buffer, &size ); - ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res); - ok(!strcmp(buffer,"b"), "b != %s\n", buffer); + check_record(hrec, 1, "b"); MsiCloseHandle( hrec );
res = MsiViewClose( htab ); @@ -8673,13 +8187,7 @@ static void test_createtable(void)
res = MsiViewGetColumnInfo( htab, MSICOLINFO_NAMES, &hrec ); ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res); - - buffer[0] = 0; - size = sizeof(buffer); - res = MsiRecordGetStringA(hrec, 1, buffer, &size ); - ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res); - ok(!strcmp(buffer,"b"), "b != %s\n", buffer); - + check_record(hrec, 1, "b"); res = MsiCloseHandle( hrec ); ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
It was introduced in 9f487ba1d as part of an optimization, but ceased to be used in a52c2bf94.
Signed-off-by: Zebediah Figura z.figura12@gmail.com --- dlls/msi/alter.c | 9 ----- dlls/msi/create.c | 1 - dlls/msi/delete.c | 10 ------ dlls/msi/distinct.c | 22 ------------- dlls/msi/drop.c | 1 - dlls/msi/insert.c | 10 ------ dlls/msi/msipriv.h | 13 -------- dlls/msi/select.c | 20 ------------ dlls/msi/storages.c | 30 ----------------- dlls/msi/streams.c | 30 ----------------- dlls/msi/table.c | 80 --------------------------------------------- dlls/msi/update.c | 9 ----- dlls/msi/where.c | 31 ------------------ 13 files changed, 266 deletions(-)
diff --git a/dlls/msi/alter.c b/dlls/msi/alter.c index 8b11351f8b..8899c4499d 100644 --- a/dlls/msi/alter.c +++ b/dlls/msi/alter.c @@ -221,14 +221,6 @@ static UINT ALTER_delete( struct tagMSIVIEW *view ) return ERROR_SUCCESS; }
-static UINT ALTER_find_matching_rows( struct tagMSIVIEW *view, UINT col, - UINT val, UINT *row, MSIITERHANDLE *handle ) -{ - TRACE("%p, %d, %u, %p\n", view, col, val, *handle); - - return ERROR_FUNCTION_FAILED; -} - static const MSIVIEWOPS alter_ops = { ALTER_fetch_int, @@ -243,7 +235,6 @@ static const MSIVIEWOPS alter_ops = ALTER_get_column_info, ALTER_modify, ALTER_delete, - ALTER_find_matching_rows, NULL, NULL, NULL, diff --git a/dlls/msi/create.c b/dlls/msi/create.c index c679d6b131..0a60066d8e 100644 --- a/dlls/msi/create.c +++ b/dlls/msi/create.c @@ -142,7 +142,6 @@ static const MSIVIEWOPS create_ops = NULL, NULL, NULL, - NULL, };
static UINT check_columns( const column_info *col_info ) diff --git a/dlls/msi/delete.c b/dlls/msi/delete.c index 4472409a0a..4ed5384b8d 100644 --- a/dlls/msi/delete.c +++ b/dlls/msi/delete.c @@ -164,15 +164,6 @@ static UINT DELETE_delete( struct tagMSIVIEW *view ) return ERROR_SUCCESS; }
-static UINT DELETE_find_matching_rows( struct tagMSIVIEW *view, UINT col, - UINT val, UINT *row, MSIITERHANDLE *handle ) -{ - TRACE("%p, %d, %u, %p\n", view, col, val, *handle); - - return ERROR_FUNCTION_FAILED; -} - - static const MSIVIEWOPS delete_ops = { DELETE_fetch_int, @@ -187,7 +178,6 @@ static const MSIVIEWOPS delete_ops = DELETE_get_column_info, DELETE_modify, DELETE_delete, - DELETE_find_matching_rows, NULL, NULL, NULL, diff --git a/dlls/msi/distinct.c b/dlls/msi/distinct.c index 04f09fa491..ff292f16bc 100644 --- a/dlls/msi/distinct.c +++ b/dlls/msi/distinct.c @@ -247,27 +247,6 @@ static UINT DISTINCT_delete( struct tagMSIVIEW *view ) return ERROR_SUCCESS; }
-static UINT DISTINCT_find_matching_rows( struct tagMSIVIEW *view, UINT col, - UINT val, UINT *row, MSIITERHANDLE *handle ) -{ - MSIDISTINCTVIEW *dv = (MSIDISTINCTVIEW*)view; - UINT r; - - TRACE("%p, %d, %u, %p\n", view, col, val, *handle); - - if( !dv->table ) - return ERROR_FUNCTION_FAILED; - - r = dv->table->ops->find_matching_rows( dv->table, col, val, row, handle ); - - if( *row > dv->row_count ) - return ERROR_NO_MORE_ITEMS; - - *row = dv->translation[ *row ]; - - return r; -} - static const MSIVIEWOPS distinct_ops = { DISTINCT_fetch_int, @@ -282,7 +261,6 @@ static const MSIVIEWOPS distinct_ops = DISTINCT_get_column_info, DISTINCT_modify, DISTINCT_delete, - DISTINCT_find_matching_rows, NULL, NULL, NULL, diff --git a/dlls/msi/drop.c b/dlls/msi/drop.c index f0b58039fd..41dbc8d4e2 100644 --- a/dlls/msi/drop.c +++ b/dlls/msi/drop.c @@ -112,7 +112,6 @@ static const MSIVIEWOPS drop_ops = NULL, NULL, NULL, - NULL, };
UINT DROP_CreateView(MSIDATABASE *db, MSIVIEW **view, LPCWSTR name) diff --git a/dlls/msi/insert.c b/dlls/msi/insert.c index c404929f28..0ae0cdc77f 100644 --- a/dlls/msi/insert.c +++ b/dlls/msi/insert.c @@ -318,15 +318,6 @@ static UINT INSERT_delete( struct tagMSIVIEW *view ) return ERROR_SUCCESS; }
-static UINT INSERT_find_matching_rows( struct tagMSIVIEW *view, UINT col, - UINT val, UINT *row, MSIITERHANDLE *handle ) -{ - TRACE("%p, %d, %u, %p\n", view, col, val, *handle); - - return ERROR_FUNCTION_FAILED; -} - - static const MSIVIEWOPS insert_ops = { INSERT_fetch_int, @@ -341,7 +332,6 @@ static const MSIVIEWOPS insert_ops = INSERT_get_column_info, INSERT_modify, INSERT_delete, - INSERT_find_matching_rows, NULL, NULL, NULL, diff --git a/dlls/msi/msipriv.h b/dlls/msi/msipriv.h index 90ce37091d..420fe43d81 100644 --- a/dlls/msi/msipriv.h +++ b/dlls/msi/msipriv.h @@ -301,19 +301,6 @@ typedef struct tagMSIVIEWOPS */ UINT (*delete)( struct tagMSIVIEW * );
- /* - * find_matching_rows - iterates through rows that match a value - * - * If the column type is a string then a string ID should be passed in. - * If the value to be looked up is an integer then no transformation of - * the input value is required, except if the column is a string, in which - * case a string ID should be passed in. - * The handle is an input/output parameter that keeps track of the current - * position in the iteration. It must be initialised to zero before the - * first call and continued to be passed in to subsequent calls. - */ - UINT (*find_matching_rows)( struct tagMSIVIEW *view, UINT col, UINT val, UINT *row, MSIITERHANDLE *handle ); - /* * add_ref - increases the reference count of the table */ diff --git a/dlls/msi/select.c b/dlls/msi/select.c index e8f38855a8..70d2c32950 100644 --- a/dlls/msi/select.c +++ b/dlls/msi/select.c @@ -331,25 +331,6 @@ static UINT SELECT_delete( struct tagMSIVIEW *view ) return ERROR_SUCCESS; }
-static UINT SELECT_find_matching_rows( struct tagMSIVIEW *view, UINT col, - UINT val, UINT *row, MSIITERHANDLE *handle ) -{ - MSISELECTVIEW *sv = (MSISELECTVIEW*)view; - - TRACE("%p, %d, %u, %p\n", view, col, val, *handle); - - if( !sv->table ) - return ERROR_FUNCTION_FAILED; - - if( (col==0) || (col>sv->num_cols) ) - return ERROR_FUNCTION_FAILED; - - col = sv->cols[ col - 1 ]; - - return sv->table->ops->find_matching_rows( sv->table, col, val, row, handle ); -} - - static const MSIVIEWOPS select_ops = { SELECT_fetch_int, @@ -364,7 +345,6 @@ static const MSIVIEWOPS select_ops = SELECT_get_column_info, SELECT_modify, SELECT_delete, - SELECT_find_matching_rows, NULL, NULL, NULL, diff --git a/dlls/msi/storages.c b/dlls/msi/storages.c index 3ca708cb5b..f0b960d7c8 100644 --- a/dlls/msi/storages.c +++ b/dlls/msi/storages.c @@ -415,35 +415,6 @@ static UINT STORAGES_delete(struct tagMSIVIEW *view) return ERROR_SUCCESS; }
-static UINT STORAGES_find_matching_rows(struct tagMSIVIEW *view, UINT col, - UINT val, UINT *row, MSIITERHANDLE *handle) -{ - MSISTORAGESVIEW *sv = (MSISTORAGESVIEW *)view; - UINT index = PtrToUlong(*handle); - - TRACE("(%d, %d): %d\n", *row, col, val); - - if (col == 0 || col > NUM_STORAGES_COLS) - return ERROR_INVALID_PARAMETER; - - while (index < sv->num_rows) - { - if (sv->storages[index]->str_index == val) - { - *row = index; - break; - } - - index++; - } - - *handle = UlongToPtr(++index); - if (index >= sv->num_rows) - return ERROR_NO_MORE_ITEMS; - - return ERROR_SUCCESS; -} - static const MSIVIEWOPS storages_ops = { STORAGES_fetch_int, @@ -458,7 +429,6 @@ static const MSIVIEWOPS storages_ops = STORAGES_get_column_info, STORAGES_modify, STORAGES_delete, - STORAGES_find_matching_rows, NULL, NULL, NULL, diff --git a/dlls/msi/streams.c b/dlls/msi/streams.c index 74ef899c1b..e542d78844 100644 --- a/dlls/msi/streams.c +++ b/dlls/msi/streams.c @@ -337,35 +337,6 @@ static UINT STREAMS_delete(struct tagMSIVIEW *view) return ERROR_SUCCESS; }
-static UINT STREAMS_find_matching_rows(struct tagMSIVIEW *view, UINT col, - UINT val, UINT *row, MSIITERHANDLE *handle) -{ - MSISTREAMSVIEW *sv = (MSISTREAMSVIEW *)view; - UINT index = PtrToUlong(*handle); - - TRACE("(%p, %d, %d, %p, %p)\n", view, col, val, row, handle); - - if (!col || col > sv->num_cols) - return ERROR_INVALID_PARAMETER; - - while (index < sv->db->num_streams) - { - if (sv->db->streams[index].str_index == val) - { - *row = index; - break; - } - index++; - } - - *handle = UlongToPtr(++index); - - if (index > sv->db->num_streams) - return ERROR_NO_MORE_ITEMS; - - return ERROR_SUCCESS; -} - static const MSIVIEWOPS streams_ops = { STREAMS_fetch_int, @@ -380,7 +351,6 @@ static const MSIVIEWOPS streams_ops = STREAMS_get_column_info, STREAMS_modify, STREAMS_delete, - STREAMS_find_matching_rows, NULL, NULL, NULL, diff --git a/dlls/msi/table.c b/dlls/msi/table.c index e046c5c9e2..e24b0bd0e5 100644 --- a/dlls/msi/table.c +++ b/dlls/msi/table.c @@ -1875,85 +1875,6 @@ static UINT TABLE_delete( struct tagMSIVIEW *view ) return ERROR_SUCCESS; }
-static UINT TABLE_find_matching_rows( struct tagMSIVIEW *view, UINT col, - UINT val, UINT *row, MSIITERHANDLE *handle ) -{ - MSITABLEVIEW *tv = (MSITABLEVIEW*)view; - const MSICOLUMNHASHENTRY *entry; - - TRACE("%p, %d, %u, %p\n", view, col, val, *handle); - - if( !tv->table ) - return ERROR_INVALID_PARAMETER; - - if( (col==0) || (col > tv->num_cols) ) - return ERROR_INVALID_PARAMETER; - - if( !tv->columns[col-1].hash_table ) - { - UINT i; - UINT num_rows = tv->table->row_count; - MSICOLUMNHASHENTRY **hash_table; - MSICOLUMNHASHENTRY *new_entry; - - if( tv->columns[col-1].offset >= tv->row_size ) - { - ERR("Stuffed up %d >= %d\n", tv->columns[col-1].offset, tv->row_size ); - ERR("%p %p\n", tv, tv->columns ); - return ERROR_FUNCTION_FAILED; - } - - /* allocate contiguous memory for the table and its entries so we - * don't have to do an expensive cleanup */ - hash_table = msi_alloc(MSITABLE_HASH_TABLE_SIZE * sizeof(MSICOLUMNHASHENTRY*) + - num_rows * sizeof(MSICOLUMNHASHENTRY)); - if (!hash_table) - return ERROR_OUTOFMEMORY; - - memset(hash_table, 0, MSITABLE_HASH_TABLE_SIZE * sizeof(MSICOLUMNHASHENTRY*)); - tv->columns[col-1].hash_table = hash_table; - - new_entry = (MSICOLUMNHASHENTRY *)(hash_table + MSITABLE_HASH_TABLE_SIZE); - - for (i = 0; i < num_rows; i++, new_entry++) - { - UINT row_value; - - if (view->ops->fetch_int( view, i, col, &row_value ) != ERROR_SUCCESS) - continue; - - new_entry->next = NULL; - new_entry->value = row_value; - new_entry->row = i; - if (hash_table[row_value % MSITABLE_HASH_TABLE_SIZE]) - { - MSICOLUMNHASHENTRY *prev_entry = hash_table[row_value % MSITABLE_HASH_TABLE_SIZE]; - while (prev_entry->next) - prev_entry = prev_entry->next; - prev_entry->next = new_entry; - } - else - hash_table[row_value % MSITABLE_HASH_TABLE_SIZE] = new_entry; - } - } - - if( !*handle ) - entry = tv->columns[col-1].hash_table[val % MSITABLE_HASH_TABLE_SIZE]; - else - entry = (*handle)->next; - - while (entry && entry->value != val) - entry = entry->next; - - *handle = entry; - if (!entry) - return ERROR_NO_MORE_ITEMS; - - *row = entry->row; - - return ERROR_SUCCESS; -} - static UINT TABLE_add_ref(struct tagMSIVIEW *view) { MSITABLEVIEW *tv = (MSITABLEVIEW*)view; @@ -2148,7 +2069,6 @@ static const MSIVIEWOPS table_ops = TABLE_get_column_info, TABLE_modify, TABLE_delete, - TABLE_find_matching_rows, TABLE_add_ref, TABLE_release, TABLE_add_column, diff --git a/dlls/msi/update.c b/dlls/msi/update.c index d0e3c28f79..ed81447aa5 100644 --- a/dlls/msi/update.c +++ b/dlls/msi/update.c @@ -195,14 +195,6 @@ static UINT UPDATE_delete( struct tagMSIVIEW *view ) return ERROR_SUCCESS; }
-static UINT UPDATE_find_matching_rows( struct tagMSIVIEW *view, UINT col, UINT val, UINT *row, MSIITERHANDLE *handle ) -{ - TRACE("%p %d %d %p\n", view, col, val, *handle ); - - return ERROR_FUNCTION_FAILED; -} - - static const MSIVIEWOPS update_ops = { UPDATE_fetch_int, @@ -217,7 +209,6 @@ static const MSIVIEWOPS update_ops = UPDATE_get_column_info, UPDATE_modify, UPDATE_delete, - UPDATE_find_matching_rows, NULL, NULL, NULL, diff --git a/dlls/msi/where.c b/dlls/msi/where.c index ddd8c07fab..b493bda7dd 100644 --- a/dlls/msi/where.c +++ b/dlls/msi/where.c @@ -1015,36 +1015,6 @@ static UINT WHERE_delete( struct tagMSIVIEW *view ) return ERROR_SUCCESS; }
-static UINT WHERE_find_matching_rows( struct tagMSIVIEW *view, UINT col, - UINT val, UINT *row, MSIITERHANDLE *handle ) -{ - MSIWHEREVIEW *wv = (MSIWHEREVIEW*)view; - UINT i, row_value; - - TRACE("%p, %d, %u, %p\n", view, col, val, *handle); - - if (!wv->tables) - return ERROR_FUNCTION_FAILED; - - if (col == 0 || col > wv->col_count) - return ERROR_INVALID_PARAMETER; - - for (i = PtrToUlong(*handle); i < wv->row_count; i++) - { - if (view->ops->fetch_int( view, i, col, &row_value ) != ERROR_SUCCESS) - continue; - - if (row_value == val) - { - *row = i; - *handle = UlongToPtr(i + 1); - return ERROR_SUCCESS; - } - } - - return ERROR_NO_MORE_ITEMS; -} - static UINT WHERE_sort(struct tagMSIVIEW *view, column_info *columns) { MSIWHEREVIEW *wv = (MSIWHEREVIEW *)view; @@ -1108,7 +1078,6 @@ static const MSIVIEWOPS where_ops = WHERE_get_column_info, WHERE_modify, WHERE_delete, - WHERE_find_matching_rows, NULL, NULL, NULL,
Signed-off-by: Hans Leidekker hans@codeweavers.com
It was added to the structure, rather unnecessarily, by ccef56f2c.
Signed-off-by: Zebediah Figura z.figura12@gmail.com --- dlls/msi/alter.c | 1 - dlls/msi/create.c | 1 - dlls/msi/delete.c | 1 - dlls/msi/distinct.c | 1 - dlls/msi/drop.c | 1 - dlls/msi/insert.c | 1 - dlls/msi/msipriv.h | 5 ----- dlls/msi/select.c | 1 - dlls/msi/storages.c | 1 - dlls/msi/streams.c | 1 - dlls/msi/table.c | 1 - dlls/msi/update.c | 1 - dlls/msi/where.c | 1 - 13 files changed, 17 deletions(-)
diff --git a/dlls/msi/alter.c b/dlls/msi/alter.c index 8899c4499d..011a2dcfb8 100644 --- a/dlls/msi/alter.c +++ b/dlls/msi/alter.c @@ -240,7 +240,6 @@ static const MSIVIEWOPS alter_ops = NULL, NULL, NULL, - NULL, };
UINT ALTER_CreateView( MSIDATABASE *db, MSIVIEW **view, LPCWSTR name, column_info *colinfo, int hold ) diff --git a/dlls/msi/create.c b/dlls/msi/create.c index 0a60066d8e..dd4739df12 100644 --- a/dlls/msi/create.c +++ b/dlls/msi/create.c @@ -141,7 +141,6 @@ static const MSIVIEWOPS create_ops = NULL, NULL, NULL, - NULL, };
static UINT check_columns( const column_info *col_info ) diff --git a/dlls/msi/delete.c b/dlls/msi/delete.c index 4ed5384b8d..468115186b 100644 --- a/dlls/msi/delete.c +++ b/dlls/msi/delete.c @@ -183,7 +183,6 @@ static const MSIVIEWOPS delete_ops = NULL, NULL, NULL, - NULL, };
UINT DELETE_CreateView( MSIDATABASE *db, MSIVIEW **view, MSIVIEW *table ) diff --git a/dlls/msi/distinct.c b/dlls/msi/distinct.c index ff292f16bc..b1945a1546 100644 --- a/dlls/msi/distinct.c +++ b/dlls/msi/distinct.c @@ -266,7 +266,6 @@ static const MSIVIEWOPS distinct_ops = NULL, NULL, NULL, - NULL, };
UINT DISTINCT_CreateView( MSIDATABASE *db, MSIVIEW **view, MSIVIEW *table ) diff --git a/dlls/msi/drop.c b/dlls/msi/drop.c index 41dbc8d4e2..3179f14219 100644 --- a/dlls/msi/drop.c +++ b/dlls/msi/drop.c @@ -111,7 +111,6 @@ static const MSIVIEWOPS drop_ops = NULL, NULL, NULL, - NULL, };
UINT DROP_CreateView(MSIDATABASE *db, MSIVIEW **view, LPCWSTR name) diff --git a/dlls/msi/insert.c b/dlls/msi/insert.c index 0ae0cdc77f..a5333c9cdc 100644 --- a/dlls/msi/insert.c +++ b/dlls/msi/insert.c @@ -337,7 +337,6 @@ static const MSIVIEWOPS insert_ops = NULL, NULL, NULL, - NULL, };
static UINT count_column_info( const column_info *ci ) diff --git a/dlls/msi/msipriv.h b/dlls/msi/msipriv.h index 420fe43d81..d05ad0e828 100644 --- a/dlls/msi/msipriv.h +++ b/dlls/msi/msipriv.h @@ -316,11 +316,6 @@ typedef struct tagMSIVIEWOPS */ UINT (*add_column)( struct tagMSIVIEW *view, LPCWSTR table, UINT number, LPCWSTR column, UINT type, BOOL hold );
- /* - * remove_column - removes the column represented by table name and column number from the table - */ - UINT (*remove_column)( struct tagMSIVIEW *view, LPCWSTR table, UINT number ); - /* * sort - orders the table by columns */ diff --git a/dlls/msi/select.c b/dlls/msi/select.c index 70d2c32950..8bd4509c0e 100644 --- a/dlls/msi/select.c +++ b/dlls/msi/select.c @@ -350,7 +350,6 @@ static const MSIVIEWOPS select_ops = NULL, NULL, NULL, - NULL, };
static UINT SELECT_AddColumn( MSISELECTVIEW *sv, LPCWSTR name, diff --git a/dlls/msi/storages.c b/dlls/msi/storages.c index f0b960d7c8..9d262b78f7 100644 --- a/dlls/msi/storages.c +++ b/dlls/msi/storages.c @@ -434,7 +434,6 @@ static const MSIVIEWOPS storages_ops = NULL, NULL, NULL, - NULL, };
static INT add_storages_to_table(MSISTORAGESVIEW *sv) diff --git a/dlls/msi/streams.c b/dlls/msi/streams.c index e542d78844..37b8cb333b 100644 --- a/dlls/msi/streams.c +++ b/dlls/msi/streams.c @@ -356,7 +356,6 @@ static const MSIVIEWOPS streams_ops = NULL, NULL, NULL, - NULL, };
static HRESULT open_stream( MSIDATABASE *db, const WCHAR *name, IStream **stream ) diff --git a/dlls/msi/table.c b/dlls/msi/table.c index e24b0bd0e5..4a0633441f 100644 --- a/dlls/msi/table.c +++ b/dlls/msi/table.c @@ -2072,7 +2072,6 @@ static const MSIVIEWOPS table_ops = TABLE_add_ref, TABLE_release, TABLE_add_column, - TABLE_remove_column, NULL, TABLE_drop, }; diff --git a/dlls/msi/update.c b/dlls/msi/update.c index ed81447aa5..ff4e1abf5f 100644 --- a/dlls/msi/update.c +++ b/dlls/msi/update.c @@ -213,7 +213,6 @@ static const MSIVIEWOPS update_ops = NULL, NULL, NULL, - NULL, };
UINT UPDATE_CreateView( MSIDATABASE *db, MSIVIEW **view, LPWSTR table, diff --git a/dlls/msi/where.c b/dlls/msi/where.c index b493bda7dd..6c08471bbf 100644 --- a/dlls/msi/where.c +++ b/dlls/msi/where.c @@ -1081,7 +1081,6 @@ static const MSIVIEWOPS where_ops = NULL, NULL, NULL, - NULL, WHERE_sort, NULL, };
Signed-off-by: Hans Leidekker hans@codeweavers.com
Signed-off-by: Zebediah Figura z.figura12@gmail.com --- dlls/msi/msipriv.h | 8 +------- dlls/msi/storages.c | 2 +- dlls/msi/streams.c | 4 ++-- dlls/msi/string.c | 18 +++++++++--------- dlls/msi/table.c | 8 +++----- 5 files changed, 16 insertions(+), 24 deletions(-)
diff --git a/dlls/msi/msipriv.h b/dlls/msi/msipriv.h index d05ad0e828..1cbeae4af0 100644 --- a/dlls/msi/msipriv.h +++ b/dlls/msi/msipriv.h @@ -742,13 +742,7 @@ extern UINT msi_commit_streams( MSIDATABASE *db ) DECLSPEC_HIDDEN;
/* string table functions */ -enum StringPersistence -{ - StringPersistent = 0, - StringNonPersistent = 1 -}; - -extern BOOL msi_add_string( string_table *st, const WCHAR *data, int len, enum StringPersistence persistence ) DECLSPEC_HIDDEN; +extern BOOL msi_add_string( string_table *st, const WCHAR *data, int len, BOOL persistent ) DECLSPEC_HIDDEN; extern UINT msi_string2id( const string_table *st, const WCHAR *data, int len, UINT *id ) DECLSPEC_HIDDEN; extern VOID msi_destroy_stringtable( string_table *st ) DECLSPEC_HIDDEN; extern const WCHAR *msi_string_lookup( const string_table *st, UINT id, int *len ) DECLSPEC_HIDDEN; diff --git a/dlls/msi/storages.c b/dlls/msi/storages.c index 9d262b78f7..4379ae268b 100644 --- a/dlls/msi/storages.c +++ b/dlls/msi/storages.c @@ -77,7 +77,7 @@ static STORAGE *create_storage(MSISTORAGESVIEW *sv, LPCWSTR name, IStorage *stg) if (!storage) return NULL;
- storage->str_index = msi_add_string(sv->db->strings, name, -1, StringNonPersistent); + storage->str_index = msi_add_string(sv->db->strings, name, -1, FALSE); storage->storage = stg;
if (storage->storage) diff --git a/dlls/msi/streams.c b/dlls/msi/streams.c index 37b8cb333b..fc9f715bb6 100644 --- a/dlls/msi/streams.c +++ b/dlls/msi/streams.c @@ -127,7 +127,7 @@ static UINT STREAMS_set_row(struct tagMSIVIEW *view, UINT row, MSIRECORD *rec, U const WCHAR *name = MSI_RecordGetString( rec, 1 );
if (!name) return ERROR_INVALID_PARAMETER; - sv->db->streams[row].str_index = msi_add_string( sv->db->strings, name, -1, StringNonPersistent ); + sv->db->streams[row].str_index = msi_add_string( sv->db->strings, name, -1, FALSE ); } if (mask & 2) { @@ -399,7 +399,7 @@ static UINT append_stream( MSIDATABASE *db, const WCHAR *name, IStream *stream ) if (!streams_resize_table( db, db->num_streams + 1 )) return ERROR_OUTOFMEMORY;
- db->streams[i].str_index = msi_add_string( db->strings, name, -1, StringNonPersistent ); + db->streams[i].str_index = msi_add_string( db->strings, name, -1, FALSE ); db->streams[i].stream = stream; db->num_streams++;
diff --git a/dlls/msi/string.c b/dlls/msi/string.c index 7383fddbed..9dec32d73f 100644 --- a/dlls/msi/string.c +++ b/dlls/msi/string.c @@ -209,9 +209,9 @@ static void insert_string_sorted( string_table *st, UINT string_id ) }
static void set_st_entry( string_table *st, UINT n, WCHAR *str, int len, USHORT refcount, - enum StringPersistence persistence ) + BOOL persistent ) { - if (persistence == StringPersistent) + if (persistent) { st->strings[n].persistent_refcount = refcount; st->strings[n].nonpersistent_refcount = 0; @@ -257,7 +257,7 @@ static UINT string2id( const string_table *st, const char *buffer, UINT *id ) return r; }
-static int add_string( string_table *st, UINT n, const char *data, UINT len, USHORT refcount, enum StringPersistence persistence ) +static int add_string( string_table *st, UINT n, const char *data, UINT len, USHORT refcount, BOOL persistent ) { LPWSTR str; int sz; @@ -274,7 +274,7 @@ static int add_string( string_table *st, UINT n, const char *data, UINT len, USH { if (string2id( st, data, &n ) == ERROR_SUCCESS) { - if (persistence == StringPersistent) + if (persistent) st->strings[n].persistent_refcount += refcount; else st->strings[n].nonpersistent_refcount += refcount; @@ -299,11 +299,11 @@ static int add_string( string_table *st, UINT n, const char *data, UINT len, USH MultiByteToWideChar( st->codepage, 0, data, len, str, sz ); str[sz] = 0;
- set_st_entry( st, n, str, sz, refcount, persistence ); + set_st_entry( st, n, str, sz, refcount, persistent ); return n; }
-int msi_add_string( string_table *st, const WCHAR *data, int len, enum StringPersistence persistence ) +int msi_add_string( string_table *st, const WCHAR *data, int len, BOOL persistent ) { UINT n; LPWSTR str; @@ -318,7 +318,7 @@ int msi_add_string( string_table *st, const WCHAR *data, int len, enum StringPer
if (msi_string2id( st, data, len, &n) == ERROR_SUCCESS ) { - if (persistence == StringPersistent) + if (persistent) st->strings[n].persistent_refcount++; else st->strings[n].nonpersistent_refcount++; @@ -338,7 +338,7 @@ int msi_add_string( string_table *st, const WCHAR *data, int len, enum StringPer memcpy( str, data, len*sizeof(WCHAR) ); str[len] = 0;
- set_st_entry( st, n, str, len, 1, persistence ); + set_st_entry( st, n, str, len, 1, persistent ); return n; }
@@ -545,7 +545,7 @@ string_table *msi_load_string_table( IStorage *stg, UINT *bytes_per_strref ) break; }
- r = add_string( st, n, data+offset, len, refs, StringPersistent ); + r = add_string( st, n, data+offset, len, refs, TRUE ); if( r != n ) ERR("Failed to add string %d\n", n ); n++; diff --git a/dlls/msi/table.c b/dlls/msi/table.c index 4a0633441f..dfa4469bef 100644 --- a/dlls/msi/table.c +++ b/dlls/msi/table.c @@ -716,7 +716,6 @@ static UINT get_tablecolumns( MSIDATABASE *db, LPCWSTR szTableName, MSICOLUMNINF UINT msi_create_table( MSIDATABASE *db, LPCWSTR name, column_info *col_info, MSICONDITION persistent ) { - enum StringPersistence string_persistence = (persistent) ? StringPersistent : StringNonPersistent; UINT r, nField; MSIVIEW *tv = NULL; MSIRECORD *rec = NULL; @@ -756,8 +755,8 @@ UINT msi_create_table( MSIDATABASE *db, LPCWSTR name, column_info *col_info,
for( i = 0, col = col_info; col; i++, col = col->next ) { - UINT table_id = msi_add_string( db->strings, col->table, -1, string_persistence ); - UINT col_id = msi_add_string( db->strings, col->column, -1, string_persistence ); + UINT table_id = msi_add_string( db->strings, col->table, -1, persistent ); + UINT col_id = msi_add_string( db->strings, col->column, -1, persistent );
table->colinfo[ i ].tablename = msi_string_lookup( db->strings, table_id, NULL ); table->colinfo[ i ].number = i + 1; @@ -1385,8 +1384,7 @@ static UINT TABLE_set_row( struct tagMSIVIEW *view, UINT row, MSIRECORD *rec, UI { int len; const WCHAR *sval = msi_record_get_string( rec, i + 1, &len ); - val = msi_add_string( tv->db->strings, sval, len, - persistent ? StringPersistent : StringNonPersistent ); + val = msi_add_string( tv->db->strings, sval, len, persistent ); } else {
Signed-off-by: Hans Leidekker hans@codeweavers.com
For consistency with other operations.
Signed-off-by: Zebediah Figura z.figura12@gmail.com --- dlls/msi/msiquery.c | 2 +- dlls/msi/select.c | 2 +- dlls/msi/table.c | 4 ++-- dlls/msi/where.c | 4 ++-- 4 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/dlls/msi/msiquery.c b/dlls/msi/msiquery.c index db5660a647..30c4f655d3 100644 --- a/dlls/msi/msiquery.c +++ b/dlls/msi/msiquery.c @@ -696,7 +696,7 @@ UINT MSI_ViewModify( MSIQUERY *query, MSIMODIFY mode, MSIRECORD *rec ) if ( mode == MSIMODIFY_UPDATE && rec->cookie != (UINT64)(ULONG_PTR)query ) return ERROR_FUNCTION_FAILED;
- r = view->ops->modify( view, mode, rec, query->row ); + r = view->ops->modify( view, mode, rec, query->row - 1 ); if (mode == MSIMODIFY_DELETE && r == ERROR_SUCCESS) query->row--;
diff --git a/dlls/msi/select.c b/dlls/msi/select.c index 8bd4509c0e..e17cbbbdf2 100644 --- a/dlls/msi/select.c +++ b/dlls/msi/select.c @@ -253,7 +253,7 @@ static UINT msi_select_update(struct tagMSIVIEW *view, MSIRECORD *rec, UINT row) if (r != ERROR_SUCCESS) return r;
- r = sv->table->ops->get_row(sv->table, row - 1, &mod); + r = sv->table->ops->get_row(sv->table, row, &mod); if (r != ERROR_SUCCESS) return r;
diff --git a/dlls/msi/table.c b/dlls/msi/table.c index dfa4469bef..b507268eb7 100644 --- a/dlls/msi/table.c +++ b/dlls/msi/table.c @@ -1731,7 +1731,7 @@ static UINT msi_table_update(struct tagMSIVIEW *view, MSIRECORD *rec, UINT row) }
/* the row cannot be changed */ - if (row != new_row + 1) + if (row != new_row) return ERROR_FUNCTION_FAILED;
return TABLE_set_row(view, new_row, rec, (1 << tv->num_cols) - 1); @@ -1769,7 +1769,7 @@ static UINT msi_refresh_record( struct tagMSIVIEW *view, MSIRECORD *rec, UINT ro MSIRECORD *curr; UINT r, i, count;
- r = TABLE_get_row(view, row - 1, &curr); + r = TABLE_get_row(view, row, &curr); if (r != ERROR_SUCCESS) return r;
diff --git a/dlls/msi/where.c b/dlls/msi/where.c index 6c08471bbf..234ba5e008 100644 --- a/dlls/msi/where.c +++ b/dlls/msi/where.c @@ -944,8 +944,8 @@ static UINT WHERE_modify( struct tagMSIVIEW *view, MSIMODIFY eModifyMode, { UINT *rows;
- if (find_row(wv, row - 1, &rows) == ERROR_SUCCESS) - row = rows[0] + 1; + if (find_row(wv, row, &rows) == ERROR_SUCCESS) + row = rows[0]; else row = -1;
Signed-off-by: Hans Leidekker hans@codeweavers.com
Hi,
While running your changed tests on Windows, I think I found new failures. Being a bot and all I'm not very good at pattern recognition, so I might be wrong, but could you please double-check?
Full results can be found at: https://testbot.winehq.org/JobDetails.pl?Key=46561
Your paranoid android.
=== wxppro (32 bit report) ===
msi: db.c:1212: Test failed: expected 1 fields, got 2 db.c:1220: Test failed: expected 1 fields, got 2 db.c:4405: Test failed: expected 1 fields, got 2 db.c:4411: Test failed: expected 1 fields, got 2 db.c:4417: Test failed: expected 1 fields, got 2 db.c:6299: Test failed: expected 1 fields, got 2 db.c:6304: Test failed: expected 1 fields, got 2 db.c:6309: Test failed: expected 1 fields, got 2 db.c:6357: Test failed: expected 1 fields, got 2 db.c:6362: Test failed: expected 1 fields, got 2 db.c:6367: Test failed: expected 1 fields, got 2 db.c:7014: Test failed: expected 1 fields, got 2 db.c:7109: Test failed: expected 1 fields, got 2
=== w2003std (32 bit report) ===
msi: db.c:1212: Test failed: expected 1 fields, got 2 db.c:1220: Test failed: expected 1 fields, got 2 db.c:4405: Test failed: expected 1 fields, got 2 db.c:4411: Test failed: expected 1 fields, got 2 db.c:4417: Test failed: expected 1 fields, got 2 db.c:6299: Test failed: expected 1 fields, got 2 db.c:6304: Test failed: expected 1 fields, got 2 db.c:6309: Test failed: expected 1 fields, got 2 db.c:6357: Test failed: expected 1 fields, got 2 db.c:6362: Test failed: expected 1 fields, got 2 db.c:6367: Test failed: expected 1 fields, got 2 db.c:7014: Test failed: expected 1 fields, got 2 db.c:7109: Test failed: expected 1 fields, got 2
=== wvistau64 (32 bit report) ===
msi: db.c:1212: Test failed: expected 1 fields, got 2 db.c:1220: Test failed: expected 1 fields, got 2 db.c:4405: Test failed: expected 1 fields, got 2 db.c:4411: Test failed: expected 1 fields, got 2 db.c:4417: Test failed: expected 1 fields, got 2 db.c:6299: Test failed: expected 1 fields, got 2 db.c:6304: Test failed: expected 1 fields, got 2 db.c:6309: Test failed: expected 1 fields, got 2 db.c:6357: Test failed: expected 1 fields, got 2 db.c:6362: Test failed: expected 1 fields, got 2 db.c:6367: Test failed: expected 1 fields, got 2 db.c:7014: Test failed: expected 1 fields, got 2 db.c:7109: Test failed: expected 1 fields, got 2
=== wvistau64_zh_CN (32 bit report) ===
msi: db.c:1212: Test failed: expected 1 fields, got 2 db.c:1220: Test failed: expected 1 fields, got 2 db.c:4405: Test failed: expected 1 fields, got 2 db.c:4411: Test failed: expected 1 fields, got 2 db.c:4417: Test failed: expected 1 fields, got 2 db.c:6299: Test failed: expected 1 fields, got 2 db.c:6304: Test failed: expected 1 fields, got 2 db.c:6309: Test failed: expected 1 fields, got 2 db.c:6357: Test failed: expected 1 fields, got 2 db.c:6362: Test failed: expected 1 fields, got 2 db.c:6367: Test failed: expected 1 fields, got 2 db.c:7014: Test failed: expected 1 fields, got 2 db.c:7109: Test failed: expected 1 fields, got 2
=== wvistau64_fr (32 bit report) ===
msi: db.c:1212: Test failed: expected 1 fields, got 2 db.c:1220: Test failed: expected 1 fields, got 2 db.c:4405: Test failed: expected 1 fields, got 2 db.c:4411: Test failed: expected 1 fields, got 2 db.c:4417: Test failed: expected 1 fields, got 2 db.c:6299: Test failed: expected 1 fields, got 2 db.c:6304: Test failed: expected 1 fields, got 2 db.c:6309: Test failed: expected 1 fields, got 2 db.c:6357: Test failed: expected 1 fields, got 2 db.c:6362: Test failed: expected 1 fields, got 2 db.c:6367: Test failed: expected 1 fields, got 2 db.c:7014: Test failed: expected 1 fields, got 2 db.c:7109: Test failed: expected 1 fields, got 2
=== wvistau64_he (32 bit report) ===
msi: db.c:1212: Test failed: expected 1 fields, got 2 db.c:1220: Test failed: expected 1 fields, got 2 db.c:4405: Test failed: expected 1 fields, got 2 db.c:4411: Test failed: expected 1 fields, got 2 db.c:4417: Test failed: expected 1 fields, got 2 db.c:6299: Test failed: expected 1 fields, got 2 db.c:6304: Test failed: expected 1 fields, got 2 db.c:6309: Test failed: expected 1 fields, got 2 db.c:6357: Test failed: expected 1 fields, got 2 db.c:6362: Test failed: expected 1 fields, got 2 db.c:6367: Test failed: expected 1 fields, got 2 db.c:7014: Test failed: expected 1 fields, got 2 db.c:7109: Test failed: expected 1 fields, got 2
=== w2008s64 (32 bit report) ===
msi: db.c:1212: Test failed: expected 1 fields, got 2 db.c:1220: Test failed: expected 1 fields, got 2 db.c:4405: Test failed: expected 1 fields, got 2 db.c:4411: Test failed: expected 1 fields, got 2 db.c:4417: Test failed: expected 1 fields, got 2 db.c:6299: Test failed: expected 1 fields, got 2 db.c:6304: Test failed: expected 1 fields, got 2 db.c:6309: Test failed: expected 1 fields, got 2 db.c:6357: Test failed: expected 1 fields, got 2 db.c:6362: Test failed: expected 1 fields, got 2 db.c:6367: Test failed: expected 1 fields, got 2 db.c:7014: Test failed: expected 1 fields, got 2 db.c:7109: Test failed: expected 1 fields, got 2
=== w7u (32 bit report) ===
msi: db.c:1212: Test failed: expected 1 fields, got 2 db.c:1220: Test failed: expected 1 fields, got 2 db.c:4405: Test failed: expected 1 fields, got 2 db.c:4411: Test failed: expected 1 fields, got 2 db.c:4417: Test failed: expected 1 fields, got 2 db.c:6299: Test failed: expected 1 fields, got 2 db.c:6304: Test failed: expected 1 fields, got 2 db.c:6309: Test failed: expected 1 fields, got 2 db.c:6357: Test failed: expected 1 fields, got 2 db.c:6362: Test failed: expected 1 fields, got 2 db.c:6367: Test failed: expected 1 fields, got 2 db.c:7014: Test failed: expected 1 fields, got 2 db.c:7109: Test failed: expected 1 fields, got 2
=== w7pro64 (32 bit report) ===
msi: db.c:1212: Test failed: expected 1 fields, got 2 db.c:1220: Test failed: expected 1 fields, got 2 db.c:4405: Test failed: expected 1 fields, got 2 db.c:4411: Test failed: expected 1 fields, got 2 db.c:4417: Test failed: expected 1 fields, got 2 db.c:6299: Test failed: expected 1 fields, got 2 db.c:6304: Test failed: expected 1 fields, got 2 db.c:6309: Test failed: expected 1 fields, got 2 db.c:6357: Test failed: expected 1 fields, got 2 db.c:6362: Test failed: expected 1 fields, got 2 db.c:6367: Test failed: expected 1 fields, got 2 db.c:7014: Test failed: expected 1 fields, got 2 db.c:7109: Test failed: expected 1 fields, got 2
=== w8 (32 bit report) ===
msi: db.c:1212: Test failed: expected 1 fields, got 2 db.c:1220: Test failed: expected 1 fields, got 2 db.c:4405: Test failed: expected 1 fields, got 2 db.c:4411: Test failed: expected 1 fields, got 2 db.c:4417: Test failed: expected 1 fields, got 2 db.c:6299: Test failed: expected 1 fields, got 2 db.c:6304: Test failed: expected 1 fields, got 2 db.c:6309: Test failed: expected 1 fields, got 2 db.c:6357: Test failed: expected 1 fields, got 2 db.c:6362: Test failed: expected 1 fields, got 2 db.c:6367: Test failed: expected 1 fields, got 2 db.c:7014: Test failed: expected 1 fields, got 2 db.c:7109: Test failed: expected 1 fields, got 2
=== w8adm (32 bit report) ===
msi: db.c:1212: Test failed: expected 1 fields, got 2 db.c:1220: Test failed: expected 1 fields, got 2 db.c:4405: Test failed: expected 1 fields, got 2 db.c:4411: Test failed: expected 1 fields, got 2 db.c:4417: Test failed: expected 1 fields, got 2 db.c:6299: Test failed: expected 1 fields, got 2 db.c:6304: Test failed: expected 1 fields, got 2 db.c:6309: Test failed: expected 1 fields, got 2 db.c:6357: Test failed: expected 1 fields, got 2 db.c:6362: Test failed: expected 1 fields, got 2 db.c:6367: Test failed: expected 1 fields, got 2 db.c:7014: Test failed: expected 1 fields, got 2 db.c:7109: Test failed: expected 1 fields, got 2
=== w864 (32 bit report) ===
msi: db.c:1212: Test failed: expected 1 fields, got 2 db.c:1220: Test failed: expected 1 fields, got 2 db.c:4405: Test failed: expected 1 fields, got 2 db.c:4411: Test failed: expected 1 fields, got 2 db.c:4417: Test failed: expected 1 fields, got 2 db.c:6299: Test failed: expected 1 fields, got 2 db.c:6304: Test failed: expected 1 fields, got 2 db.c:6309: Test failed: expected 1 fields, got 2 db.c:6357: Test failed: expected 1 fields, got 2 db.c:6362: Test failed: expected 1 fields, got 2 db.c:6367: Test failed: expected 1 fields, got 2 db.c:7014: Test failed: expected 1 fields, got 2 db.c:7109: Test failed: expected 1 fields, got 2
=== w1064 (32 bit report) ===
msi: db.c:1212: Test failed: expected 1 fields, got 2 db.c:1220: Test failed: expected 1 fields, got 2 db.c:4405: Test failed: expected 1 fields, got 2 db.c:4411: Test failed: expected 1 fields, got 2 db.c:4417: Test failed: expected 1 fields, got 2 db.c:6299: Test failed: expected 1 fields, got 2 db.c:6304: Test failed: expected 1 fields, got 2 db.c:6309: Test failed: expected 1 fields, got 2 db.c:6357: Test failed: expected 1 fields, got 2 db.c:6362: Test failed: expected 1 fields, got 2 db.c:6367: Test failed: expected 1 fields, got 2 db.c:7014: Test failed: expected 1 fields, got 2 db.c:7109: Test failed: expected 1 fields, got 2
=== wvistau64 (64 bit report) ===
msi: db.c:1212: Test failed: expected 1 fields, got 2 db.c:1220: Test failed: expected 1 fields, got 2 db.c:4405: Test failed: expected 1 fields, got 2 db.c:4411: Test failed: expected 1 fields, got 2 db.c:4417: Test failed: expected 1 fields, got 2 db.c:6299: Test failed: expected 1 fields, got 2 db.c:6304: Test failed: expected 1 fields, got 2 db.c:6309: Test failed: expected 1 fields, got 2 db.c:6357: Test failed: expected 1 fields, got 2 db.c:6362: Test failed: expected 1 fields, got 2 db.c:6367: Test failed: expected 1 fields, got 2 db.c:7014: Test failed: expected 1 fields, got 2 db.c:7109: Test failed: expected 1 fields, got 2
=== w2008s64 (64 bit report) ===
msi: db.c:1212: Test failed: expected 1 fields, got 2 db.c:1220: Test failed: expected 1 fields, got 2 db.c:4405: Test failed: expected 1 fields, got 2 db.c:4411: Test failed: expected 1 fields, got 2 db.c:4417: Test failed: expected 1 fields, got 2 db.c:6299: Test failed: expected 1 fields, got 2 db.c:6304: Test failed: expected 1 fields, got 2 db.c:6309: Test failed: expected 1 fields, got 2 db.c:6357: Test failed: expected 1 fields, got 2 db.c:6362: Test failed: expected 1 fields, got 2 db.c:6367: Test failed: expected 1 fields, got 2 db.c:7014: Test failed: expected 1 fields, got 2 db.c:7109: Test failed: expected 1 fields, got 2
=== w7pro64 (64 bit report) ===
msi: db.c:1212: Test failed: expected 1 fields, got 2 db.c:1220: Test failed: expected 1 fields, got 2 db.c:4405: Test failed: expected 1 fields, got 2 db.c:4411: Test failed: expected 1 fields, got 2 db.c:4417: Test failed: expected 1 fields, got 2 db.c:6299: Test failed: expected 1 fields, got 2 db.c:6304: Test failed: expected 1 fields, got 2 db.c:6309: Test failed: expected 1 fields, got 2 db.c:6357: Test failed: expected 1 fields, got 2 db.c:6362: Test failed: expected 1 fields, got 2 db.c:6367: Test failed: expected 1 fields, got 2 db.c:7014: Test failed: expected 1 fields, got 2 db.c:7109: Test failed: expected 1 fields, got 2
=== w864 (64 bit report) ===
msi: db.c:1212: Test failed: expected 1 fields, got 2 db.c:1220: Test failed: expected 1 fields, got 2 db.c:4405: Test failed: expected 1 fields, got 2 db.c:4411: Test failed: expected 1 fields, got 2 db.c:4417: Test failed: expected 1 fields, got 2 db.c:6299: Test failed: expected 1 fields, got 2 db.c:6304: Test failed: expected 1 fields, got 2 db.c:6309: Test failed: expected 1 fields, got 2 db.c:6357: Test failed: expected 1 fields, got 2 db.c:6362: Test failed: expected 1 fields, got 2 db.c:6367: Test failed: expected 1 fields, got 2 db.c:7014: Test failed: expected 1 fields, got 2 db.c:7109: Test failed: expected 1 fields, got 2
=== w1064 (64 bit report) ===
msi: db.c:1212: Test failed: expected 1 fields, got 2 db.c:1220: Test failed: expected 1 fields, got 2 db.c:4405: Test failed: expected 1 fields, got 2 db.c:4411: Test failed: expected 1 fields, got 2 db.c:4417: Test failed: expected 1 fields, got 2 db.c:6299: Test failed: expected 1 fields, got 2 db.c:6304: Test failed: expected 1 fields, got 2 db.c:6309: Test failed: expected 1 fields, got 2 db.c:6357: Test failed: expected 1 fields, got 2 db.c:6362: Test failed: expected 1 fields, got 2 db.c:6367: Test failed: expected 1 fields, got 2 db.c:7014: Test failed: expected 1 fields, got 2 db.c:7109: Test failed: expected 1 fields, got 2