diff options
| author | Paolo Bonzini <pbonzini@redhat.com> | 2012-12-12 10:29:26 +0100 |
|---|---|---|
| committer | Paolo Bonzini <pbonzini@redhat.com> | 2012-12-12 10:29:26 +0100 |
| commit | 5e6b60c69feea5c6569af91926ba8ba5db4c17fa (patch) | |
| tree | 1b5855c3f7091fbfec62584f87e51457aa44444f /tests | |
| parent | 7856a17b9931445c3a0c578f85c2956133adaf22 (diff) | |
| parent | 5993fa0bf82c58f1d071499b00e4df16a8c6d1c3 (diff) | |
| download | msitools-5e6b60c69feea5c6569af91926ba8ba5db4c17fa.tar.gz msitools-5e6b60c69feea5c6569af91926ba8ba5db4c17fa.tar.xz msitools-5e6b60c69feea5c6569af91926ba8ba5db4c17fa.zip | |
Merge branch 'pre-gsf'
Conflicts:
libmsi/libmsi-record.c
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/test.h | 17 | ||||
| -rw-r--r-- | tests/testdatabase.c | 1198 | ||||
| -rw-r--r-- | tests/testrecord.c | 685 |
3 files changed, 593 insertions, 1307 deletions
diff --git a/tests/test.h b/tests/test.h index 3085f89..51aeeed 100644 --- a/tests/test.h +++ b/tests/test.h @@ -1,3 +1,4 @@ +#include <glib.h> #include <stdarg.h> #include <stdbool.h> #include <stdio.h> @@ -18,3 +19,19 @@ static inline void _ok(bool cond, const char *cond_str, const char *str, ...) } va_end(ap); } + +static inline void check_record_string(LibmsiRecord *rec, unsigned field, const gchar *val) +{ + gchar *str; + + str = libmsi_record_get_string (rec, field); + if (val == NULL) { + ok (!str, "Should return null\n"); + } else { + ok (str, "expected string", str); + if (str) + ok (g_str_equal (str, val), "got %s != %s expected\n", str, val); + } + + g_free (str); +} diff --git a/tests/testdatabase.c b/tests/testdatabase.c index a8c29b5..5a8db0d 100644 --- a/tests/testdatabase.c +++ b/tests/testdatabase.c @@ -282,6 +282,7 @@ static void test_msiinsert(void) LibmsiQuery *hquery = 0; LibmsiQuery *hquery2 = 0; LibmsiRecord *hrec = 0; + gchar *str; unsigned r; const char *sql; char buf[80]; @@ -349,14 +350,9 @@ static void test_msiinsert(void) r = libmsi_record_get_int(hrec, 1); ok(r == 1, "field 1 contents wrong\n"); - sz = sizeof buf; - r = libmsi_record_get_string(hrec, 2, buf, &sz); - ok(r == LIBMSI_RESULT_SUCCESS, "field 2 content fetch failed\n"); - ok(!strcmp(buf,"Abe"), "field 2 content incorrect\n"); - sz = sizeof buf; - r = libmsi_record_get_string(hrec, 3, buf, &sz); - ok(r == LIBMSI_RESULT_SUCCESS, "field 3 content fetch failed\n"); - ok(!strcmp(buf,"8675309"), "field 3 content incorrect\n"); + + check_record_string (hrec, 2, "Abe"); + check_record_string (hrec, 3, "8675309"); g_object_unref(hrec); @@ -729,20 +725,16 @@ static void test_getcolinfo(void) rec = 0; r = libmsi_query_get_column_info( hquery, LIBMSI_COL_INFO_NAMES, &rec ); ok( r == LIBMSI_RESULT_SUCCESS, "failed to get names\n"); - sz = sizeof buffer; - r = libmsi_record_get_string(rec, 1, buffer, &sz ); - ok( r == LIBMSI_RESULT_SUCCESS, "failed to get string\n"); - ok( !strcmp(buffer,"Name"), "_Tables has wrong column name\n"); + + check_record_string (rec, 1, "Name"); g_object_unref( rec ); /* check that TYPES works */ rec = 0; r = libmsi_query_get_column_info( hquery, LIBMSI_COL_INFO_TYPES, &rec ); ok( r == LIBMSI_RESULT_SUCCESS, "failed to get names\n"); - sz = sizeof buffer; - r = libmsi_record_get_string(rec, 1, buffer, &sz ); - ok( r == LIBMSI_RESULT_SUCCESS, "failed to get string\n"); - ok( !strcmp(buffer,"s64"), "_Tables has wrong column type\n"); + + check_record_string (rec, 1, "s64"); g_object_unref( rec ); /* check that invalid values fail */ @@ -817,13 +809,14 @@ static unsigned get_columns_table_type(LibmsiDatabase *hdb, const char *table, u static bool check_record( LibmsiRecord *rec, unsigned field, const char *val ) { - char buffer[0x20]; - unsigned r; - unsigned sz; + bool result; + gchar *str; - sz = sizeof buffer; - r = libmsi_record_get_string( rec, field, buffer, &sz ); - return (r == LIBMSI_RESULT_SUCCESS ) && !strcmp(val, buffer); + str = libmsi_record_get_string(rec, field); + result = g_strcmp0(val, str) == 0; + g_free(str); + + return result; } static void test_querygetcolumninfo(void) @@ -1002,13 +995,13 @@ static void test_msiexport(void) ok(0, "failed to open file %s\n", file); ok( length == strlen(expected), "length of data wrong\n"); - ok( !strcmp(buffer, expected), "data doesn't match\n"); + ok( g_str_equal(buffer, expected), "data doesn't match\n"); unlink(msifile); } static void test_longstrings(void) { - const char insert_query[] = + const char insert_query[] = "INSERT INTO `strings` ( `id`, `val` ) VALUES('1', 'Z')"; char *str; LibmsiDatabase *hdb = 0; @@ -1024,7 +1017,7 @@ static void test_longstrings(void) ok(r == LIBMSI_RESULT_SUCCESS, "libmsi_database_open failed\n"); /* create a table */ - r = try_query( hdb, + r = try_query( hdb, "CREATE TABLE `strings` ( `id` INT, `val` CHAR(0) PRIMARY KEY `id`)"); ok(r == LIBMSI_RESULT_SUCCESS, "query failed\n"); @@ -1037,8 +1030,6 @@ static void test_longstrings(void) r = try_query( hdb, str ); ok(r == LIBMSI_RESULT_SUCCESS, "libmsi_database_open_query failed\n"); - free(str); - r = libmsi_database_commit(hdb); ok(r == LIBMSI_RESULT_SUCCESS, "libmsi_database_commit failed\n"); g_object_unref(hdb); @@ -1058,10 +1049,10 @@ static void test_longstrings(void) libmsi_query_close(hquery); g_object_unref(hquery); - r = libmsi_record_get_string(hrec, 2, NULL, &len); - ok(r == LIBMSI_RESULT_SUCCESS, "libmsi_query_fetch failed\n"); - ok(len == STRING_LENGTH, "string length wrong\n"); + str[len+STRING_LENGTH] = '\0'; + check_record_string (hrec, 2, str+len); + g_free(str); g_object_unref(hrec); g_object_unref(hdb); unlink(msifile); @@ -1084,7 +1075,7 @@ static void create_file_data(const char *name, const char *data, unsigned size) } #define create_file(name) create_file_data(name, name, 0) - + static void test_streamtable(void) { LibmsiDatabase *hdb = 0; @@ -1234,16 +1225,13 @@ static void test_streamtable(void) r = libmsi_query_fetch( query, &rec ); ok( r == LIBMSI_RESULT_SUCCESS, "Failed to fetch record: %d\n", r); - size = sizeof(file); - r = libmsi_record_get_string( rec, 1, file, &size ); - ok( r == LIBMSI_RESULT_SUCCESS, "Failed to get string: %d\n", r); - ok( !strcmp(file, "data"), "Expected 'data', got %s\n", file); + check_record_string (rec, 1, "data"); size = sizeof(buf); memset(buf, 0, sizeof(buf)); r = libmsi_record_save_stream( rec, 2, buf, &size ); ok( r == LIBMSI_RESULT_SUCCESS, "Failed to get stream: %d\n", r); - ok( !strcmp(buf, "test.txt\n"), "Expected 'test.txt\\n', got %s\n", buf); + ok( g_str_equal(buf, "test.txt\n"), "Expected 'test.txt\\n', got %s\n", buf); g_object_unref( rec ); libmsi_query_close( query ); @@ -1260,16 +1248,13 @@ static void test_streamtable(void) r = libmsi_query_fetch( query, &rec ); ok( r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - size = sizeof(file); - r = libmsi_record_get_string( rec, 1, file, &size ); - ok( r == LIBMSI_RESULT_SUCCESS, "Failed to get string: %d\n", r); - ok( !strcmp(file, "data1"), "Expected 'data1', got %s\n", file); + check_record_string (rec, 1, "data1"); size = sizeof(buf); memset(buf, 0, sizeof(buf)); r = libmsi_record_save_stream( rec, 2, buf, &size ); ok( r == LIBMSI_RESULT_SUCCESS, "Failed to get stream: %d\n", r); - ok( !strcmp(buf, "test1.txt\n"), "Expected 'test1.txt\\n', got %s\n", buf); + ok( g_str_equal(buf, "test1.txt\n"), "Expected 'test1.txt\\n', got %s\n", buf); g_object_unref( rec ); libmsi_query_close( query ); @@ -1307,16 +1292,13 @@ static void test_streamtable(void) r = libmsi_query_fetch( query, &rec ); ok( r == LIBMSI_RESULT_SUCCESS, "Failed to fetch record: %d\n", r); - size = sizeof(file); - r = libmsi_record_get_string( rec, 1, file, &size ); - ok( r == LIBMSI_RESULT_SUCCESS, "Failed to get string: %d\n", r); - ok( !strcmp(file, "data1"), "Expected 'data1', got %s\n", file); + check_record_string (rec, 1, "data1"); size = sizeof(buf); memset(buf, 0, sizeof(buf)); r = libmsi_record_save_stream( rec, 2, buf, &size ); ok( r == LIBMSI_RESULT_SUCCESS, "Failed to get stream: %d\n", r); - todo_wine ok( !strcmp(buf, "test2.txt\n"), "Expected 'test2.txt\\n', got %s\n", buf); + todo_wine ok( g_str_equal(buf, "test2.txt\n"), "Expected 'test2.txt\\n', got %s\n", buf); g_object_unref( rec ); libmsi_query_close( query ); @@ -1385,16 +1367,13 @@ static void test_binary(void) r = do_query( hdb, sql, &rec ); ok( r == LIBMSI_RESULT_SUCCESS, "SELECT query failed: %d\n", r ); - size = sizeof(file); - r = libmsi_record_get_string( rec, 1, file, &size ); - ok( r == LIBMSI_RESULT_SUCCESS, "Failed to get string: %d\n", r ); - ok( !strcmp(file, "Binary.filename1.1"), "Expected 'Binary.filename1.1', got %s\n", file ); + check_record_string (rec, 1, "Binary.filename1.1"); size = sizeof(buf); memset( buf, 0, sizeof(buf) ); r = libmsi_record_save_stream( rec, 2, buf, &size ); ok( r == LIBMSI_RESULT_SUCCESS, "Failed to get stream: %d\n", r ); - ok( !strcmp(buf, "test.txt\n"), "Expected 'test.txt\\n', got %s\n", buf ); + ok( g_str_equal(buf, "test.txt\n"), "Expected 'test.txt\\n', got %s\n", buf ); g_object_unref( rec ); @@ -1403,16 +1382,13 @@ static void test_binary(void) r = do_query( hdb, sql, &rec ); ok( r == LIBMSI_RESULT_SUCCESS, "SELECT query failed: %d\n", r ); - size = sizeof(file); - r = libmsi_record_get_string( rec, 1, file, &size ); - ok( r == LIBMSI_RESULT_SUCCESS, "Failed to get string: %d\n", r ); - ok( !strcmp(file, "filename1"), "Expected 'filename1', got %s\n", file ); + check_record_string (rec, 1, "filename1"); size = sizeof(buf); memset( buf, 0, sizeof(buf) ); r = libmsi_record_save_stream( rec, 3, buf, &size ); ok( r == LIBMSI_RESULT_SUCCESS, "Failed to get stream: %d\n", r ); - ok( !strcmp(buf, "test.txt\n"), "Expected 'test.txt\\n', got %s\n", buf ); + ok( g_str_equal(buf, "test.txt\n"), "Expected 'test.txt\\n', got %s\n", buf ); g_object_unref( rec ); @@ -1591,22 +1567,16 @@ static void test_where(void) count = libmsi_record_get_field_count( rec ); ok( count == 1, "Expected 1 record fields, got %d\n", count ); - size = sizeof(buf); - r = libmsi_record_get_string( rec, 1, buf, &size ); - ok( r == LIBMSI_RESULT_SUCCESS, "failed to get record string: %d\n", r ); - ok( !strcmp( buf, "2" ), - "For (row %d, column 1) expected '%d', got %s\n", 0, 2, buf ); - g_object_unref( rec ); + check_record_string(rec, 1, "2"); + g_object_unref(rec); + rec = NULL; r = libmsi_query_fetch(query, &rec); ok( r == LIBMSI_RESULT_SUCCESS, "failed to fetch query: %d\n", r ); - size = sizeof(buf); - r = libmsi_record_get_string( rec, 1, buf, &size ); - ok( r == LIBMSI_RESULT_SUCCESS, "failed to get record string: %d\n", r ); - ok( !strcmp( buf, "3" ), - "For (row %d, column 1) expected '%d', got %s\n", 1, 3, buf ); - g_object_unref( rec ); + check_record_string(rec, 1, "3"); + g_object_unref(rec); + rec = NULL; r = libmsi_query_fetch(query, &rec); ok( r == LIBMSI_RESULT_NO_MORE_ITEMS, "expected no more items: %d\n", r ); @@ -2104,16 +2074,13 @@ static void test_binary_import(void) r = do_query(hdb, sql, &rec); ok(r == LIBMSI_RESULT_SUCCESS, "SELECT query failed: %d\n", r); - size = sizeof(file); - r = libmsi_record_get_string(rec, 1, file, &size); - ok(r == LIBMSI_RESULT_SUCCESS, "Failed to get string: %d\n", r); - ok(!strcmp(file, "filename1"), "Expected 'filename1', got %s\n", file); + check_record_string(rec, 1, "filename1"); size = sizeof(buf); memset(buf, 0, size); r = libmsi_record_save_stream(rec, 2, buf, &size); ok(r == LIBMSI_RESULT_SUCCESS, "Failed to get stream: %d\n", r); - ok(!strcmp(buf, "just some words"), + ok(g_str_equal(buf, "just some words"), "Expected 'just some words', got %s\n", buf); g_object_unref(rec); @@ -2328,7 +2295,7 @@ static void test_handle_limit(void) static char szQueryBuf[256] = "SELECT * from `_Tables`"; hqueries[i] = (void*)0xdeadbeeb; r = libmsi_database_open_query(hdb, szQueryBuf, &hqueries[i]); - if( r != LIBMSI_RESULT_SUCCESS || hqueries[i] == (void*)0xdeadbeeb || + if( r != LIBMSI_RESULT_SUCCESS || hqueries[i] == (void*)0xdeadbeeb || hqueries[i] == 0 || (i && (hqueries[i] == hqueries[i-1]))) break; } @@ -2674,10 +2641,7 @@ static void test_try_transform(void) r = libmsi_record_get_int(hrec, 1); ok(r == 1, "Expected 1, got %d\n", r); - sz = sizeof buffer; - r = libmsi_record_get_string(hrec, 2, buffer, &sz); - ok(r == LIBMSI_RESULT_SUCCESS, "record get string failed\n"); - ok(!strcmp(buffer, "c"), "Expected c, got %s\n", buffer); + check_record_string(hrec, 2, "c"); r = libmsi_record_get_int(hrec, 3); ok(r == 0x80000000, "Expected 0x80000000, got %d\n", r); @@ -2693,10 +2657,7 @@ static void test_try_transform(void) r = libmsi_record_get_int(hrec, 1); ok(r == 2, "Expected 2, got %d\n", r); - sz = sizeof buffer; - r = libmsi_record_get_string(hrec, 2, buffer, &sz); - ok(r == LIBMSI_RESULT_SUCCESS, "record get string failed\n"); - ok(!strcmp(buffer, "b"), "Expected b, got %s\n", buffer); + check_record_string(hrec, 2, "b"); r = libmsi_record_get_int(hrec, 3); ok(r == 0x80000000, "Expected 0x80000000, got %d\n", r); @@ -2728,7 +2689,7 @@ static void test_try_transform(void) sz = MAX_PATH; r = MsiGetProperty(hpkg, "prop", buffer, &sz); ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - ok(!strcmp(buffer, "val"), "Expected val, got %s\n", buffer); + ok(g_str_equal(buffer, "val"), "Expected val, got %s\n", buffer); g_object_unref(hpkg); #endif @@ -2842,6 +2803,7 @@ static void test_join(void) unsigned r, count; unsigned size, i; bool data_correct; + gchar *str; hdb = create_db(); ok( hdb, "failed to create db\n"); @@ -2971,17 +2933,8 @@ static void test_join(void) count = libmsi_record_get_field_count( hrec ); ok( count == 2, "Expected 2 record fields, got %d\n", count ); - size = sizeof(buf); - r = libmsi_record_get_string( hrec, 1, buf, &size ); - ok( r == LIBMSI_RESULT_SUCCESS, "failed to get record string: %d\n", r ); - ok( !strcmp( buf, join_res_first[i].one ), - "For (row %d, column 1) expected '%s', got %s\n", i, join_res_first[i].one, buf ); - - size = sizeof(buf); - r = libmsi_record_get_string( hrec, 2, buf, &size ); - ok( r == LIBMSI_RESULT_SUCCESS, "failed to get record string: %d\n", r ); - ok( !strcmp( buf, join_res_first[i].two ), - "For (row %d, column 2) expected '%s', got %s\n", i, join_res_first[i].two, buf ); + check_record_string(hrec, 1, join_res_first[i].one); + check_record_string(hrec, 2, join_res_first[i].two); i++; g_object_unref(hrec); @@ -3029,17 +2982,17 @@ static void test_join(void) count = libmsi_record_get_field_count( hrec ); ok( count == 2, "Expected 2 record fields, got %d\n", count ); - size = sizeof(buf); - r = libmsi_record_get_string( hrec, 1, buf, &size ); - ok( r == LIBMSI_RESULT_SUCCESS, "failed to get record string: %d\n", r ); - if( strcmp( buf, join_res_second[i].one )) + str = libmsi_record_get_string(hrec, 1); + ok(str, "failed to get record string\n"); + if( strcmp(str, join_res_second[i].one)) data_correct = false; + g_free(str); - size = sizeof(buf); - r = libmsi_record_get_string( hrec, 2, buf, &size ); - ok( r == LIBMSI_RESULT_SUCCESS, "failed to get record string: %d\n", r ); - if( strcmp( buf, join_res_second[i].two )) + str = libmsi_record_get_string(hrec, 2); + ok(str, "failed to get record string\n"); + if( strcmp(str, join_res_second[i].two)) data_correct = false; + g_free(str); i++; g_object_unref(hrec); @@ -3070,17 +3023,17 @@ static void test_join(void) count = libmsi_record_get_field_count( hrec ); ok( count == 2, "Expected 2 record fields, got %d\n", count ); - size = sizeof(buf); - r = libmsi_record_get_string( hrec, 1, buf, &size ); - ok( r == LIBMSI_RESULT_SUCCESS, "failed to get record string: %d\n", r ); - if( strcmp( buf, join_res_third[i].one ) ) + str = libmsi_record_get_string(hrec, 1); + ok(str, "failed to get record string\n", str); + if (strcmp(str, join_res_third[i].one)) data_correct = false; + g_free(str); - size = sizeof(buf); - r = libmsi_record_get_string( hrec, 2, buf, &size ); - ok( r == LIBMSI_RESULT_SUCCESS, "failed to get record string: %d\n", r ); - if( strcmp( buf, join_res_third[i].two ) ) + str = libmsi_record_get_string(hrec, 2); + ok(str, "failed to get record string\n"); + if (strcmp(str, join_res_third[i].two)) data_correct = false; + g_free(str); i++; g_object_unref(hrec); @@ -3111,17 +3064,17 @@ static void test_join(void) count = libmsi_record_get_field_count( hrec ); ok( count == 2, "Expected 2 record fields, got %d\n", count ); - size = sizeof(buf); - r = libmsi_record_get_string( hrec, 1, buf, &size ); - ok( r == LIBMSI_RESULT_SUCCESS, "failed to get record string: %d\n", r ); - if( strcmp( buf, join_res_fourth[i].one )) + str = libmsi_record_get_string(hrec, 1); + ok(str, "failed to get record string\n"); + if (strcmp(str, join_res_fourth[i].one)) data_correct = false; + g_free(str); - size = sizeof(buf); - r = libmsi_record_get_string( hrec, 2, buf, &size ); - ok( r == LIBMSI_RESULT_SUCCESS, "failed to get record string: %d\n", r ); - if( strcmp( buf, join_res_fourth[i].two )) + str = libmsi_record_get_string( hrec, 2); + ok(str, "failed to get record string\n"); + if (strcmp(str, join_res_fourth[i].two)) data_correct = false; + g_free(str); i++; g_object_unref(hrec); @@ -3152,17 +3105,17 @@ static void test_join(void) count = libmsi_record_get_field_count( hrec ); ok( count == 2, "Expected 2 record fields, got %d\n", count ); - size = sizeof(buf); - r = libmsi_record_get_string( hrec, 1, buf, &size ); - ok( r == LIBMSI_RESULT_SUCCESS, "failed to get record string: %d\n", r ); - if( strcmp( buf, join_res_fifth[i].one )) + str = libmsi_record_get_string(hrec, 1); + ok(str, "failed to get record string: %d\n", r ); + if (strcmp(str, join_res_fifth[i].one)) data_correct = false; + g_free(str); - size = sizeof(buf); - r = libmsi_record_get_string( hrec, 2, buf, &size ); - ok( r == LIBMSI_RESULT_SUCCESS, "failed to get record string: %d\n", r ); - if( strcmp( buf, join_res_fifth[i].two )) + str = libmsi_record_get_string(hrec, 2); + ok(str, "failed to get record string\n"); + if(strcmp(str, join_res_fifth[i].two)) data_correct = false; + g_free(str); i++; g_object_unref(hrec); @@ -3192,17 +3145,17 @@ static void test_join(void) count = libmsi_record_get_field_count( hrec ); ok( count == 2, "Expected 2 record fields, got %d\n", count ); - size = sizeof(buf); - r = libmsi_record_get_string( hrec, 1, buf, &size ); - ok( r == LIBMSI_RESULT_SUCCESS, "failed to get record string: %d\n", r ); - if( strcmp( buf, join_res_sixth[i].one )) + str = libmsi_record_get_string(hrec, 1); + ok(str, "failed to get record string\n"); + if (strcmp(str, join_res_sixth[i].one)) data_correct = false; + g_free(str); - size = sizeof(buf); - r = libmsi_record_get_string( hrec, 2, buf, &size ); - ok( r == LIBMSI_RESULT_SUCCESS, "failed to get record string: %d\n", r ); - if( strcmp( buf, join_res_sixth[i].two )) + str = libmsi_record_get_string( hrec, 2); + ok(str, "failed to get record string\n"); + if (strcmp(str, join_res_sixth[i].two)) data_correct = false; + g_free(str); i++; g_object_unref(hrec); @@ -3233,17 +3186,17 @@ static void test_join(void) count = libmsi_record_get_field_count( hrec ); ok( count == 2, "Expected 2 record fields, got %d\n", count ); - size = sizeof(buf); - r = libmsi_record_get_string( hrec, 1, buf, &size ); - ok( r == LIBMSI_RESULT_SUCCESS, "failed to get record string: %d\n", r ); - if( strcmp( buf, join_res_seventh[i].one )) + str = libmsi_record_get_string( hrec, 1); + ok(str, "failed to get record string\n"); + if (strcmp(str, join_res_seventh[i].one)) data_correct = false; + g_free(str); - size = sizeof(buf); - r = libmsi_record_get_string( hrec, 2, buf, &size ); - ok( r == LIBMSI_RESULT_SUCCESS, "failed to get record string: %d\n", r ); - if( strcmp( buf, join_res_seventh[i].two )) + str = libmsi_record_get_string(hrec, 2); + ok(str, "failed to get record string\n"); + if (strcmp(str, join_res_seventh[i].two)) data_correct = false; + g_free(str); i++; g_object_unref(hrec); @@ -3271,17 +3224,17 @@ static void test_join(void) count = libmsi_record_get_field_count( hrec ); ok( count == 2, "Expected 2 record fields, got %d\n", count ); - size = sizeof(buf); - r = libmsi_record_get_string( hrec, 1, buf, &size ); - ok( r == LIBMSI_RESULT_SUCCESS, "failed to get record string: %d\n", r ); - if( strcmp( buf, join_res_eighth[i].one )) + str = libmsi_record_get_string(hrec, 1); + ok(str, "failed to get record string\n"); + if (strcmp(str, join_res_eighth[i].one)) data_correct = false; + g_free(str); - size = sizeof(buf); - r = libmsi_record_get_string( hrec, 2, buf, &size ); - ok( r == LIBMSI_RESULT_SUCCESS, "failed to get record string: %d\n", r ); - if( strcmp( buf, join_res_eighth[i].four )) + str = libmsi_record_get_string(hrec, 2); + ok(str, "failed to get record string\n"); + if (strcmp(str, join_res_eighth[i].four)) data_correct = false; + g_free(str); i++; g_object_unref(hrec); @@ -3308,29 +3261,29 @@ static void test_join(void) count = libmsi_record_get_field_count( hrec ); ok( count == 4, "Expected 4 record fields, got %d\n", count ); - size = sizeof(buf); - r = libmsi_record_get_string( hrec, 1, buf, &size ); - ok( r == LIBMSI_RESULT_SUCCESS, "failed to get record string: %d\n", r ); - if( strcmp( buf, join_res_eighth[i].one )) + str = libmsi_record_get_string(hrec, 1); + ok(str, "failed to get record string\n"); + if (strcmp(str, join_res_eighth[i].one)) data_correct = false; + g_free(str); - size = sizeof(buf); - r = libmsi_record_get_string( hrec, 2, buf, &size ); - ok( r == LIBMSI_RESULT_SUCCESS, "failed to get record string: %d\n", r ); - if( strcmp( buf, join_res_eighth[i].two )) + str = libmsi_record_get_string(hrec, 2); + ok(str, "failed to get record string\n"); + if (strcmp(str, join_res_eighth[i].two)) data_correct = false; + g_free(str); - size = sizeof(buf); - r = libmsi_record_get_string( hrec, 3, buf, &size ); - ok( r == LIBMSI_RESULT_SUCCESS, "failed to get record string: %d\n", r ); - if( strcmp( buf, join_res_eighth[i].three )) + str = libmsi_record_get_string(hrec, 3); + ok(str, "failed to get record string\n"); + if (strcmp(str, join_res_eighth[i].three)) data_correct = false; + g_free(str); - size = sizeof(buf); - r = libmsi_record_get_string( hrec, 4, buf, &size ); - ok( r == LIBMSI_RESULT_SUCCESS, "failed to get record string: %d\n", r ); - if( strcmp( buf, join_res_eighth[i].four )) + str = libmsi_record_get_string(hrec, 4); + ok(str, "failed to get record string\n"); + if (strcmp(str, join_res_eighth[i].four)) data_correct = false; + g_free(str); i++; g_object_unref(hrec); @@ -3507,15 +3460,8 @@ static void test_temporary_table(void) r = libmsi_query_get_column_info(query, LIBMSI_COL_INFO_TYPES, &rec); ok(r == LIBMSI_RESULT_SUCCESS, "failed to get column info\n"); - sz = sizeof buf; - r = libmsi_record_get_string(rec, 1, buf, &sz); - ok(r == LIBMSI_RESULT_SUCCESS, "failed to get string\n"); - ok( 0 == strcmp("G255", buf), "wrong column type\n"); - - sz = sizeof buf; - r = libmsi_record_get_string(rec, 2, buf, &sz); - ok(r == LIBMSI_RESULT_SUCCESS, "failed to get string\n"); - ok( 0 == strcmp("j2", buf), "wrong column type\n"); + check_record_string(rec, 1, "G255"); + check_record_string(rec, 2, "j2"); g_object_unref( rec ); libmsi_query_close( query ); @@ -3960,21 +3906,13 @@ static void test_update(void) r = libmsi_query_fetch(query, &rec); ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - size = sizeof(result); - r = libmsi_record_get_string(rec, 1, result, &size); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - ok(!strcmp(result, "this is text"), "Expected `this is text`, got %s\n", result); - + check_record_string(rec, 1, "this is text"); g_object_unref(rec); r = libmsi_query_fetch(query, &rec); ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - size = sizeof(result); - r = libmsi_record_get_string(rec, 1, result, &size); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - ok(!strlen(result), "Expected an empty string, got %s\n", result); - + check_record_string(rec, 1, ""); g_object_unref(rec); r = libmsi_query_fetch(query, &rec); @@ -4006,21 +3944,13 @@ static void test_update(void) r = libmsi_query_fetch(query, &rec); ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - size = sizeof(result); - r = libmsi_record_get_string(rec, 1, result, &size); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - ok(!strcmp(result, "this is text"), "Expected `this is text`, got %s\n", result); - + check_record_string(rec, 1, "this is text"); g_object_unref(rec); r = libmsi_query_fetch(query, &rec); ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - size = sizeof(result); - r = libmsi_record_get_string(rec, 1, result, &size); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - ok(!strlen(result), "Expected an empty string, got %s\n", result); - + check_record_string(rec, 1, ""); g_object_unref(rec); r = libmsi_query_fetch(query, &rec); @@ -4052,31 +3982,19 @@ static void test_update(void) r = libmsi_query_fetch(query, &rec); ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - size = sizeof(result); - r = libmsi_record_get_string(rec, 1, result, &size); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - ok(!strcmp(result, "this is text"), "Expected `this is text`, got %s\n", result); - + check_record_string(rec, 1, "this is text"); g_object_unref(rec); r = libmsi_query_fetch(query, &rec); ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - size = sizeof(result); - r = libmsi_record_get_string(rec, 1, result, &size); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - ok(!strcmp(result, "this is text"), "Expected `this is text`, got %s\n", result); - + check_record_string(rec, 1, "this is text"); g_object_unref(rec); r = libmsi_query_fetch(query, &rec); ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - size = sizeof(result); - r = libmsi_record_get_string(rec, 1, result, &size); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - ok(!strcmp(result, "this is text"), "Expected `this is text`, got %s\n", result); - + check_record_string(rec, 1, "this is text"); g_object_unref(rec); r = libmsi_query_fetch(query, &rec); @@ -4203,6 +4121,7 @@ static void test_tables_order(void) LibmsiDatabase *hdb = 0; LibmsiQuery *hquery = 0; LibmsiRecord *hrec = 0; + gchar *str; unsigned r; char buffer[100]; unsigned sz; @@ -4238,26 +4157,18 @@ static void test_tables_order(void) r = libmsi_query_fetch(hquery, &hrec); ok(r == LIBMSI_RESULT_SUCCESS, "libmsi_query_fetch failed\n"); - sz = sizeof(buffer); - r = libmsi_record_get_string(hrec, 1, buffer, &sz); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - ok(!strcmp(buffer, "foo"), "Expected foo, got %s\n", buffer); + check_record_string(hrec, 1, "foo"); g_object_unref(hrec); r = libmsi_query_fetch(hquery, &hrec); ok(r == LIBMSI_RESULT_SUCCESS, "libmsi_query_fetch failed\n"); - sz = sizeof(buffer); - r = libmsi_record_get_string(hrec, 1, buffer, &sz); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - ok(!strcmp(buffer, "baz"), "Expected baz, got %s\n", buffer); + check_record_string(hrec, 1, "baz"); g_object_unref(hrec); r = libmsi_query_fetch(hquery, &hrec); ok(r == LIBMSI_RESULT_SUCCESS, "libmsi_query_fetch failed\n"); sz = sizeof(buffer); - r = libmsi_record_get_string(hrec, 1, buffer, &sz); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - ok(!strcmp(buffer, "bar"), "Expected bar, got %s\n", buffer); + check_record_string(hrec, 1, "bar"); g_object_unref(hrec); r = libmsi_query_close(hquery); @@ -4275,62 +4186,32 @@ static void test_tables_order(void) r = libmsi_query_fetch(hquery, &hrec); ok(r == LIBMSI_RESULT_SUCCESS, "libmsi_query_fetch failed\n"); - sz = sizeof(buffer); - r = libmsi_record_get_string(hrec, 1, buffer, &sz); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - ok(!strcmp(buffer, "foo"), "Expected foo, got %s\n", buffer); - sz = sizeof(buffer); - r = libmsi_record_get_string(hrec, 3, buffer, &sz); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - ok(!strcmp(buffer, "baz"), "Expected baz, got %s\n", buffer); + check_record_string(hrec, 1, "foo"); + check_record_string(hrec, 3, "baz"); g_object_unref(hrec); r = libmsi_query_fetch(hquery, &hrec); ok(r == LIBMSI_RESULT_SUCCESS, "libmsi_query_fetch failed\n"); - sz = sizeof(buffer); - r = libmsi_record_get_string(hrec, 1, buffer, &sz); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - ok(!strcmp(buffer, "baz"), "Expected baz, got %s\n", buffer); - sz = sizeof(buffer); - r = libmsi_record_get_string(hrec, 3, buffer, &sz); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - ok(!strcmp(buffer, "bar"), "Expected bar, got %s\n", buffer); + check_record_string(hrec, 1, "baz"); + check_record_string(hrec, 3, "bar"); g_object_unref(hrec); r = libmsi_query_fetch(hquery, &hrec); ok(r == LIBMSI_RESULT_SUCCESS, "libmsi_query_fetch failed\n"); - sz = sizeof(buffer); - r = libmsi_record_get_string(hrec, 1, buffer, &sz); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - ok(!strcmp(buffer, "baz"), "Expected baz, got %s\n", buffer); - sz = sizeof(buffer); - r = libmsi_record_get_string(hrec, 3, buffer, &sz); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - ok(!strcmp(buffer, "baz"), "Expected baz, got %s\n", buffer); + check_record_string(hrec, 1, "baz"); + check_record_string(hrec, 3, "baz"); g_object_unref(hrec); r = libmsi_query_fetch(hquery, &hrec); ok(r == LIBMSI_RESULT_SUCCESS, "libmsi_query_fetch failed\n"); - sz = sizeof(buffer); - r = libmsi_record_get_string(hrec, 1, buffer, &sz); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - ok(!strcmp(buffer, "baz"), "Expected baz, got %s\n", buffer); - sz = sizeof(buffer); - r = libmsi_record_get_string(hrec, 3, buffer, &sz); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - ok(!strcmp(buffer, "foo"), "Expected foo, got %s\n", buffer); + check_record_string(hrec, 1, "baz"); + check_record_string(hrec, 3, "foo"); g_object_unref(hrec); r = libmsi_query_fetch(hquery, &hrec); ok(r == LIBMSI_RESULT_SUCCESS, "libmsi_query_fetch failed\n"); - sz = sizeof(buffer); - r = libmsi_record_get_string(hrec, 1, buffer, &sz); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - ok(!strcmp(buffer, "bar"), "Expected bar, got %s\n", buffer); - sz = sizeof(buffer); - r = libmsi_record_get_string(hrec, 3, buffer, &sz); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - ok(!strcmp(buffer, "foo"), "Expected foo, got %s\n", buffer); + check_record_string(hrec, 1, "bar"); + check_record_string(hrec, 3, "foo"); g_object_unref(hrec); r = libmsi_query_close(hquery); @@ -4419,50 +4300,26 @@ static void test_rows_order(void) r = libmsi_query_fetch(hquery, &hrec); ok(r == LIBMSI_RESULT_SUCCESS, "libmsi_query_fetch failed\n"); - sz = sizeof(buffer); - r = libmsi_record_get_string(hrec, 1, buffer, &sz); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - ok(!strcmp(buffer, "A"), "Expected A, got %s\n", buffer); - sz = sizeof(buffer); - r = libmsi_record_get_string(hrec, 2, buffer, &sz); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - ok(!strcmp(buffer, "B"), "Expected B, got %s\n", buffer); + check_record_string(hrec, 1, "A"); + check_record_string(hrec, 2, "B"); g_object_unref(hrec); r = libmsi_query_fetch(hquery, &hrec); ok(r == LIBMSI_RESULT_SUCCESS, "libmsi_query_fetch failed\n"); - sz = sizeof(buffer); - r = libmsi_record_get_string(hrec, 1, buffer, &sz); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - ok(!strcmp(buffer, "C"), "Expected E, got %s\n", buffer); - sz = sizeof(buffer); - r = libmsi_record_get_string(hrec, 2, buffer, &sz); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - ok(!strcmp(buffer, "E"), "Expected E, got %s\n", buffer); + check_record_string(hrec, 1, "C"); + check_record_string(hrec, 2, "E"); g_object_unref(hrec); r = libmsi_query_fetch(hquery, &hrec); ok(r == LIBMSI_RESULT_SUCCESS, "libmsi_query_fetch failed\n"); - sz = sizeof(buffer); - r = libmsi_record_get_string(hrec, 1, buffer, &sz); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - ok(!strcmp(buffer, "D"), "Expected D, got %s\n", buffer); - sz = sizeof(buffer); - r = libmsi_record_get_string(hrec, 2, buffer, &sz); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - ok(!strcmp(buffer, "E"), "Expected E, got %s\n", buffer); + check_record_string(hrec, 1, "D"); + check_record_string(hrec, 2, "E"); g_object_unref(hrec); r = libmsi_query_fetch(hquery, &hrec); ok(r == LIBMSI_RESULT_SUCCESS, "libmsi_query_fetch failed\n"); - sz = sizeof(buffer); - r = libmsi_record_get_string(hrec, 1, buffer, &sz); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - ok(!strcmp(buffer, "F"), "Expected F, got %s\n", buffer); - sz = sizeof(buffer); - r = libmsi_record_get_string(hrec, 2, buffer, &sz); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - ok(!strcmp(buffer, "A"), "Expected A, got %s\n", buffer); + check_record_string(hrec, 1, "F"); + check_record_string(hrec, 2, "A"); g_object_unref(hrec); r = libmsi_query_close(hquery); @@ -4497,6 +4354,7 @@ static void test_collation(void) unsigned r; char buffer[100]; unsigned sz; + gchar *str; r = libmsi_database_open(msifile, LIBMSI_DB_OPEN_CREATE, &hdb); ok(r == LIBMSI_RESULT_SUCCESS, "libmsi_database_open failed\n"); @@ -4542,52 +4400,33 @@ static void test_collation(void) r = libmsi_query_fetch(hquery, &hrec); ok(r == LIBMSI_RESULT_SUCCESS, "libmsi_query_fetch failed\n"); - sz = sizeof(buffer); - r = libmsi_record_get_string(hrec, 1, buffer, &sz); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - ok(!strcmp(buffer, "\2"), "Expected \\2, got '%s'\n", buffer); - sz = sizeof(buffer); - r = libmsi_record_get_string(hrec, 2, buffer, &sz); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - ok(!strcmp(buffer, "A"), "Expected A, got '%s'\n", buffer); + check_record_string(hrec, 1, "\2"); + check_record_string(hrec, 2, "A"); g_object_unref(hrec); r = libmsi_query_fetch(hquery, &hrec); ok(r == LIBMSI_RESULT_SUCCESS, "libmsi_query_fetch failed\n"); - sz = sizeof(buffer); - r = libmsi_record_get_string(hrec, 1, buffer, &sz); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - ok(!strcmp(buffer, "\1"), "Expected \\1, got '%s'\n", buffer); - sz = sizeof(buffer); - r = libmsi_record_get_string(hrec, 2, buffer, &sz); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - ok(!strcmp(buffer, "B"), "Expected B, got '%s'\n", buffer); + check_record_string(hrec, 1, "\1"); + check_record_string(hrec, 2, "B"); g_object_unref(hrec); r = libmsi_query_fetch(hquery, &hrec); ok(r == LIBMSI_RESULT_SUCCESS, "libmsi_query_fetch failed\n"); - sz = sizeof(buffer); - r = libmsi_record_get_string(hrec, 1, buffer, &sz); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - ok(!memcmp(buffer, letter_a_ring, sizeof(letter_a_ring)), - "Expected %s, got %s\n", letter_a_ring, buffer); - sz = sizeof(buffer); - r = libmsi_record_get_string(hrec, 2, buffer, &sz); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - ok(!strcmp(buffer, "C"), "Expected C, got %s\n", buffer); + str = libmsi_record_get_string(hrec, 1); + ok(str, "Expected string\n"); + ok(!memcmp(str, letter_a_ring, sizeof(letter_a_ring)), + "Expected %s, got %s\n", letter_a_ring, str); + check_record_string(hrec, 2, "C"); g_object_unref(hrec); r = libmsi_query_fetch(hquery, &hrec); ok(r == LIBMSI_RESULT_SUCCESS, "libmsi_query_fetch failed\n"); - sz = sizeof(buffer); - r = libmsi_record_get_string(hrec, 1, buffer, &sz); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - ok(!memcmp(buffer, letter_a_with_ring, sizeof(letter_a_with_ring)), - "Expected %s, got %s\n", letter_a_with_ring, buffer); - sz = sizeof(buffer); - r = libmsi_record_get_string(hrec, 2, buffer, &sz); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - ok(!strcmp(buffer, "D"), "Expected D, got %s\n", buffer); + str = libmsi_record_get_string(hrec, 1); + ok(str, "Expected string\n"); + ok(!memcmp(str, letter_a_with_ring, sizeof(letter_a_with_ring)), + "Expected %s, got %s\n", letter_a_with_ring, str); + g_free(str); + check_record_string(hrec, 2, "D"); g_object_unref(hrec); r = libmsi_query_close(hquery); @@ -4602,14 +4441,11 @@ static void test_collation(void) r = libmsi_query_fetch(hquery, &hrec); ok(r == LIBMSI_RESULT_SUCCESS, "libmsi_query_fetch failed\n"); sz = sizeof(buffer); - r = libmsi_record_get_string(hrec, 1, buffer, &sz); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - ok(!memcmp(buffer, letter_a_with_ring, sizeof(letter_a_with_ring)), - "Expected %s, got %s\n", letter_a_with_ring, buffer); - sz = sizeof(buffer); - r = libmsi_record_get_string(hrec, 2, buffer, &sz); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - ok(!strcmp(buffer, "D"), "Expected D, got %s\n", buffer); + str = libmsi_record_get_string(hrec, 1); + ok(str, "Expected string\n"); + ok(!memcmp(str, letter_a_with_ring, sizeof(letter_a_with_ring)), + "Expected %s, got %s\n", letter_a_with_ring, str); + check_record_string(hrec, 2, "D"); g_object_unref(hrec); r = libmsi_query_fetch(hquery, &hrec); @@ -4673,15 +4509,8 @@ static void test_select_markers(void) r = libmsi_query_fetch(query, &res); ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - size = sizeof(buf); - r = libmsi_record_get_string(res, 1, buf, &size); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - ok(!strcmp(buf, "apple"), "Expected apple, got %s\n", buf); - - size = sizeof(buf); - r = libmsi_record_get_string(res, 2, buf, &size); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - ok(!strcmp(buf, "two"), "Expected two, got %s\n", buf); + check_record_string(res, 1, "apple"); + check_record_string(res, 2, "two"); r = libmsi_record_get_int(res, 3); ok(r == 1, "Expected 1, got %d\n", r); @@ -4691,15 +4520,9 @@ static void test_select_markers(void) r = libmsi_query_fetch(query, &res); ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - size = sizeof(buf); - r = libmsi_record_get_string(res, 1, buf, &size); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - ok(!strcmp(buf, "apple"), "Expected apple, got %s\n", buf); + check_record_string(res, 1, "apple"); - size = sizeof(buf); - r = libmsi_record_get_string(res, 2, buf, &size); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - ok(!strcmp(buf, "two"), "Expected two, got %s\n", buf); + check_record_string(res, 2, "two"); r = libmsi_record_get_int(res, 3); ok(r == 2, "Expected 2, got %d\n", r); @@ -4727,15 +4550,8 @@ static void test_select_markers(void) r = libmsi_query_fetch(query, &res); ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - size = sizeof(buf); - r = libmsi_record_get_string(res, 1, buf, &size); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - ok(!strcmp(buf, "apple"), "Expected apple, got %s\n", buf); - - size = sizeof(buf); - r = libmsi_record_get_string(res, 2, buf, &size); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - ok(!strcmp(buf, "two"), "Expected two, got %s\n", buf); + check_record_string(res, 1, "apple"); + check_record_string(res, 2, "two"); r = libmsi_record_get_int(res, 3); ok(r == 2, "Expected 2, got %d\n", r); @@ -4745,15 +4561,8 @@ static void test_select_markers(void) r = libmsi_query_fetch(query, &res); ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - size = sizeof(buf); - r = libmsi_record_get_string(res, 1, buf, &size); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - ok(!strcmp(buf, "banana"), "Expected banana, got %s\n", buf); - - size = sizeof(buf); - r = libmsi_record_get_string(res, 2, buf, &size); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - ok(!strcmp(buf, "three"), "Expected three, got %s\n", buf); + check_record_string(res, 1, "banana"); + check_record_string(res, 2, "three"); r = libmsi_record_get_int(res, 3); ok(r == 3, "Expected 3, got %d\n", r); @@ -4883,10 +4692,7 @@ static void test_stringtable(void) r = libmsi_record_get_int(hrec, 1); ok(r == 1, "Expected 1, got %d\n", r); - sz = sizeof(buffer); - r = libmsi_record_get_string(hrec, 2, buffer, &sz); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - ok(!strcmp(buffer, "one"), "Expected one, got '%s'\n", buffer); + check_record_string(hrec, 2, "one"); g_object_unref(hrec); @@ -4914,10 +4720,7 @@ static void test_stringtable(void) r = libmsi_record_get_int(hrec, 1); ok(r == 2, "Expected 2, got %d\n", r); - sz = sizeof(buffer); - r = libmsi_record_get_string(hrec, 2, buffer, &sz); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - ok(!strcmp(buffer, "two"), "Expected two, got '%s'\n", buffer); + check_record_string(hrec, 2, "two"); g_object_unref(hrec); @@ -4930,10 +4733,7 @@ static void test_stringtable(void) r = libmsi_record_get_int(hrec, 1); ok(r == 5, "Expected 5, got %d\n", r); - sz = sizeof(buffer); - r = libmsi_record_get_string(hrec, 2, buffer, &sz); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - ok(!strcmp(buffer, "five"), "Expected five, got '%s'\n", buffer); + check_record_string(hrec, 2, "five"); g_object_unref(hrec); @@ -5363,10 +5163,7 @@ static void test_order(void) r = libmsi_query_fetch(hquery, &hrec); ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - sz = sizeof(buffer); - r = libmsi_record_get_string(hrec, 1, buffer, &sz); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - ok(!strcmp(buffer, "dos"), "Expected \"dos\", got \"%s\"\n", buffer); + check_record_string(hrec, 1, "dos"); r = libmsi_record_get_int(hrec, 2); ok(r == 3, "Expected 3, got %d\n", r); @@ -5429,10 +5226,7 @@ static void test_deleterow(void) r = libmsi_query_fetch(hquery, &hrec); ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - size = sizeof(buf); - r = libmsi_record_get_string(hrec, 1, buf, &size); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - ok(!strcmp(buf, "two"), "Expected two, got %s\n", buf); + check_record_string(hrec, 1, "two"); g_object_unref(hrec); @@ -5510,11 +5304,7 @@ static void test_quotes(void) r = libmsi_query_fetch(hquery, &hrec); ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - size = sizeof(buf); - r = libmsi_record_get_string(hrec, 1, buf, &size); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - ok(!strcmp(buf, "This is a \"string\" ok"), - "Expected \"This is a \"string\" ok\", got %s\n", buf); + check_record_string(hrec, 1, "This is a \"string\" ok"); g_object_unref(hrec); @@ -5541,11 +5331,7 @@ static void test_quotes(void) r = libmsi_query_fetch(hquery, &hrec); ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - size = sizeof(buf); - r = libmsi_record_get_string(hrec, 1, buf, &size); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - ok(!strcmp(buf, "This is a new 'string' ok"), - "Expected \"This is a new 'string' ok\", got %s\n", buf); + check_record_string(hrec, 1, "This is a new 'string' ok"); g_object_unref(hrec); @@ -5709,31 +5495,19 @@ static void test_carriagereturn(void) r = libmsi_query_fetch(hquery, &hrec); ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - size = sizeof(buf); - r = libmsi_record_get_string(hrec, 1, buf, &size); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - ok(!strcmp(buf, "\rOne"), "Expected \"\\rOne\", got \"%s\"\n", buf); - + check_record_string(hrec, 1, "\rOne"); g_object_unref(hrec); r = libmsi_query_fetch(hquery, &hrec); ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - size = sizeof(buf); - r = libmsi_record_get_string(hrec, 1, buf, &size); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - ok(!strcmp(buf, "Tw\ro"), "Expected \"Tw\\ro\", got \"%s\"\n", buf); - + check_record_string(hrec, 1, "Tw\ro"); g_object_unref(hrec); r = libmsi_query_fetch(hquery, &hrec); ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - size = sizeof(buf); - r = libmsi_record_get_string(hrec, 1, buf, &size); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - ok(!strcmp(buf, "Three\r"), "Expected \"Three\r\", got \"%s\"\n", buf); - + check_record_string(hrec, 1, "Three\r"); g_object_unref(hrec); r = libmsi_query_fetch(hquery, &hrec); @@ -5786,31 +5560,19 @@ static void test_noquotes(void) r = libmsi_query_fetch(hquery, &hrec); ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - size = sizeof(buf); - r = libmsi_record_get_string(hrec, 1, buf, &size); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - ok(!strcmp(buf, "Table"), "Expected \"Table\", got \"%s\"\n", buf); - + check_record_string(hrec, 1, "Table"); g_object_unref(hrec); r = libmsi_query_fetch(hquery, &hrec); ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - size = sizeof(buf); - r = libmsi_record_get_string(hrec, 1, buf, &size); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - ok(!strcmp(buf, "Table2"), "Expected \"Table2\", got \"%s\"\n", buf); - + check_record_string(hrec, 1, "Table2"); g_object_unref(hrec); r = libmsi_query_fetch(hquery, &hrec); ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - size = sizeof(buf); - r = libmsi_record_get_string(hrec, 1, buf, &size); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - ok(!strcmp(buf, "Table3"), "Expected \"Table3\", got \"%s\"\n", buf); - + check_record_string(hrec, 1, "Table3"); g_object_unref(hrec); r = libmsi_query_fetch(hquery, &hrec); @@ -5828,55 +5590,34 @@ static void test_noquotes(void) r = libmsi_query_fetch(hquery, &hrec); ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - size = sizeof(buf); - r = libmsi_record_get_string(hrec, 1, buf, &size); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - ok(!strcmp(buf, "Table"), "Expected \"Table\", got \"%s\"\n", buf); + check_record_string(hrec, 1, "Table"); r = libmsi_record_get_int(hrec, 2); ok(r == 1, "Expected 1, got %d\n", r); - size = sizeof(buf); - r = libmsi_record_get_string(hrec, 3, buf, &size); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - ok(!strcmp(buf, "A"), "Expected \"A\", got \"%s\"\n", buf); - + check_record_string(hrec, 3, "A"); g_object_unref(hrec); r = libmsi_query_fetch(hquery, &hrec); ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - size = sizeof(buf); - r = libmsi_record_get_string(hrec, 1, buf, &size); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - ok(!strcmp(buf, "Table2"), "Expected \"Table2\", got \"%s\"\n", buf); + check_record_string(hrec, 1, "Table2"); r = libmsi_record_get_int(hrec, 2); ok(r == 1, "Expected 1, got %d\n", r); - size = sizeof(buf); - r = libmsi_record_get_string(hrec, 3, buf, &size); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - ok(!strcmp(buf, "A"), "Expected \"A\", got \"%s\"\n", buf); - + check_record_string(hrec, 3, "A"); g_object_unref(hrec); r = libmsi_query_fetch(hquery, &hrec); ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - size = sizeof(buf); - r = libmsi_record_get_string(hrec, 1, buf, &size); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - ok(!strcmp(buf, "Table3"), "Expected \"Table3\", got \"%s\"\n", buf); + check_record_string(hrec, 1, "Table3"); r = libmsi_record_get_int(hrec, 2); ok(r == 1, "Expected 1, got %d\n", r); - size = sizeof(buf); - r = libmsi_record_get_string(hrec, 3, buf, &size); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - ok(!strcmp(buf, "A"), "Expected \"A\", got \"%s\"\n", buf); - + check_record_string(hrec, 3, "A"); g_object_unref(hrec); r = libmsi_query_fetch(hquery, &hrec); @@ -5931,11 +5672,7 @@ static void test_noquotes(void) r = libmsi_query_fetch(hquery, &hrec); ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - size = sizeof(buf); - r = libmsi_record_get_string(hrec, 1, buf, &size); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - ok(!strcmp(buf, "hi"), "Expected \"hi\", got \"%s\"\n", buf); - + check_record_string(hrec, 1, "hi"); g_object_unref(hrec); r = libmsi_query_fetch(hquery, &hrec); @@ -6006,7 +5743,7 @@ static void test_forcecodepage(void) close(fd); read_file_data("forcecodepage.idt", buffer); - ok(!strcmp(buffer, "\r\n\r\n0\t_ForceCodepage\r\n"), + ok(g_str_equal(buffer, "\r\n\r\n0\t_ForceCodepage\r\n"), "Expected \"\r\n\r\n0\t_ForceCodepage\r\n\", got \"%s\"\n", buffer); create_file_data("forcecodepage.idt", "\r\n\r\n850\t_ForceCodepage\r\n", 0); @@ -6022,7 +5759,7 @@ static void test_forcecodepage(void) close(fd); read_file_data("forcecodepage.idt", buffer); - ok(!strcmp(buffer, "\r\n\r\n850\t_ForceCodepage\r\n"), + ok(g_str_equal(buffer, "\r\n\r\n850\t_ForceCodepage\r\n"), "Expected \"\r\n\r\n850\t_ForceCodepage\r\n\", got \"%s\"\n", buffer); create_file_data("forcecodepage.idt", "\r\n\r\n9999\t_ForceCodepage\r\n", 0); @@ -6142,16 +5879,13 @@ static void test_storages_table(void) r = libmsi_query_fetch(hquery, &hrec); ok(r == LIBMSI_RESULT_SUCCESS, "Failed to fetch hrecord: %d\n", r); - size = sizeof(file); - r = libmsi_record_get_string(hrec, 1, file, &size); - ok(r == LIBMSI_RESULT_SUCCESS, "Failed to get string: %d\n", r); - ok(!strcmp(file, "stgname"), "Expected \"stgname\", got \"%s\"\n", file); + check_record_string(hrec, 1, "stgname"); size = sizeof(buf); strcpy(buf, "apple"); r = libmsi_record_save_stream(hrec, 2, buf, &size); ok(r == LIBMSI_RESULT_INVALID_DATA, "Expected ERROR_INVALID_DATA, got %d\n", r); - ok(!strcmp(buf, "apple"), "Expected buf to be unchanged, got %s\n", buf); + ok(g_str_equal(buf, "apple"), "Expected buf to be unchanged, got %s\n", buf); ok(size == 0, "Expected 0, got %d\n", size); g_object_unref(hrec); @@ -6185,7 +5919,7 @@ static void test_storages_table(void) hr = IStream_Read(stm, buf, MAX_PATH, &size); ok(hr == S_OK, "Expected S_OK, got %d\n", hr); ok(size == 8, "Expected 8, got %d\n", size); - ok(!strcmp(buf, "stgdata"), "Expected \"stgdata\", got \"%s\"\n", buf); + ok(g_str_equal(buf, "stgdata"), "Expected \"stgdata\", got \"%s\"\n", buf); IStream_Release(stm); IStorage_Release(inner); @@ -6225,10 +5959,7 @@ static void test_droptable(void) r = libmsi_query_fetch(hquery, &hrec); ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - size = sizeof(buf); - r = libmsi_record_get_string(hrec, 1, buf, &size); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - ok(!strcmp(buf, "One"), "Expected \"One\", got \"%s\"\n", buf); + check_record_string(hrec, 1, "One"); g_object_unref(hrec); libmsi_query_close(hquery); @@ -6243,19 +5974,12 @@ static void test_droptable(void) r = libmsi_query_fetch(hquery, &hrec); ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - size = sizeof(buf); - r = libmsi_record_get_string(hrec, 1, buf, &size); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - ok(!strcmp(buf, "One"), "Expected \"One\", got \"%s\"\n", buf); + check_record_string(hrec, 1, "One"); r = libmsi_record_get_int(hrec, 2); ok(r == 1, "Expected 1, got %d\n", r); - size = sizeof(buf); - r = libmsi_record_get_string(hrec, 3, buf, &size); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - ok(!strcmp(buf, "A"), "Expected \"A\", got \"%s\"\n", buf); - + check_record_string(hrec, 3, "A"); g_object_unref(hrec); r = libmsi_query_fetch(hquery, &hrec); @@ -6337,10 +6061,7 @@ static void test_droptable(void) r = libmsi_query_fetch(hquery, &hrec); ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - size = sizeof(buf); - r = libmsi_record_get_string(hrec, 1, buf, &size); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - ok(!strcmp(buf, "One"), "Expected \"One\", got \"%s\"\n", buf); + check_record_string(hrec, 1, "One"); g_object_unref(hrec); libmsi_query_close(hquery); @@ -6355,37 +6076,23 @@ static void test_droptable(void) r = libmsi_query_fetch(hquery, &hrec); ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - size = sizeof(buf); - r = libmsi_record_get_string(hrec, 1, buf, &size); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - ok(!strcmp(buf, "One"), "Expected \"One\", got \"%s\"\n", buf); + check_record_string(hrec, 1, "One"); r = libmsi_record_get_int(hrec, 2); ok(r == 1, "Expected 1, got %d\n", r); - size = sizeof(buf); - r = libmsi_record_get_string(hrec, 3, buf, &size); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - ok(!strcmp(buf, "B"), "Expected \"B\", got \"%s\"\n", buf); - + check_record_string(hrec, 3, "B"); g_object_unref(hrec); r = libmsi_query_fetch(hquery, &hrec); ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - size = sizeof(buf); - r = libmsi_record_get_string(hrec, 1, buf, &size); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - ok(!strcmp(buf, "One"), "Expected \"One\", got \"%s\"\n", buf); + check_record_string(hrec, 1, "One"); r = libmsi_record_get_int(hrec, 2); ok(r == 2, "Expected 2, got %d\n", r); - size = sizeof(buf); - r = libmsi_record_get_string(hrec, 3, buf, &size); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - ok(!strcmp(buf, "C"), "Expected \"C\", got \"%s\"\n", buf); - + check_record_string(hrec, 3, "C"); g_object_unref(hrec); r = libmsi_query_fetch(hquery, &hrec); @@ -6732,10 +6439,7 @@ static void test_dbmerge(void) r = do_query(hdb, sql, &hrec); ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - size = sizeof(buf); - r = libmsi_record_get_string(hrec, 1, buf, &size); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - ok(!strcmp(buf, "One"), "Expected \"One\", got \"%s\"\n", buf); + check_record_string(hrec, 1, "One"); r = libmsi_record_get_int(hrec, 2); ok(r == 2, "Expected 2, got %d\n", r); @@ -6749,32 +6453,16 @@ static void test_dbmerge(void) r = libmsi_query_get_column_info(hquery, LIBMSI_COL_INFO_NAMES, &hrec); ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - size = sizeof(buf); - r = libmsi_record_get_string(hrec, 1, buf, &size); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - ok(!strcmp(buf, "Table"), "Expected \"Table\", got \"%s\"\n", buf); - - size = sizeof(buf); - r = libmsi_record_get_string(hrec, 2, buf, &size); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - ok(!strcmp(buf, "NumRowMergeConflicts"), - "Expected \"NumRowMergeConflicts\", got \"%s\"\n", buf); - + check_record_string(hrec, 1, "Table"); + check_record_string(hrec, 2, "NumRowMergeConflicts"); g_object_unref(hrec); hrec = NULL; r = libmsi_query_get_column_info(hquery, LIBMSI_COL_INFO_TYPES, &hrec); ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - size = sizeof(buf); - r = libmsi_record_get_string(hrec, 1, buf, &size); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - ok(!strcmp(buf, "s255"), "Expected \"s255\", got \"%s\"\n", buf); - - size = sizeof(buf); - r = libmsi_record_get_string(hrec, 2, buf, &size); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - ok(!strcmp(buf, "i2"), "Expected \"i2\", got \"%s\"\n", buf); + check_record_string(hrec, 1, "s255"); + check_record_string(hrec, 2, "i2"); g_object_unref(hrec); libmsi_query_close(hquery); @@ -6811,11 +6499,7 @@ static void test_dbmerge(void) r = libmsi_record_get_int(hrec, 1); ok(r == 1, "Expected 1, got %d\n", r); - size = sizeof(buf); - r = libmsi_record_get_string(hrec, 2, buf, &size); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - ok(!strcmp(buf, "hi"), "Expected \"hi\", got \"%s\"\n", buf); - + check_record_string(hrec, 2, "hi"); g_object_unref(hrec); /* nothing in MergeErrors */ @@ -6854,10 +6538,7 @@ static void test_dbmerge(void) r = do_query(hdb, sql, &hrec); ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - size = sizeof(buf); - r = libmsi_record_get_string(hrec, 1, buf, &size); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - ok(!strcmp(buf, "hi"), "Expected \"hi\", got \"%s\"\n", buf); + check_record_string(hrec, 1, "hi"); r = libmsi_record_get_int(hrec, 2); ok(r == 1, "Expected 1, got %d\n", r); @@ -6908,11 +6589,7 @@ static void test_dbmerge(void) r = libmsi_record_get_int(hrec, 1); ok(r == 1, "Expected 1, got %d\n", r); - size = sizeof(buf); - r = libmsi_record_get_string(hrec, 2, buf, &size); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - ok(!strcmp(buf, "hi"), "Expected \"hi\", got \"%s\"\n", buf); - + check_record_string(hrec, 2, "hi"); g_object_unref(hrec); /* nothing in MergeErrors */ @@ -6962,7 +6639,7 @@ static void test_dbmerge(void) memset(buf, 0, sizeof(buf)); r = libmsi_record_save_stream(hrec, 2, buf, &size); ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - ok(!strcmp(buf, "binary.dat\n"), + ok(g_str_equal(buf, "binary.dat\n"), "Expected \"binary.dat\\n\", got \"%s\"\n", buf); g_object_unref(hrec); @@ -7010,11 +6687,7 @@ static void test_dbmerge(void) r = libmsi_record_get_int(hrec, 1); ok(r == 1, "Expected 1, got %d\n", r); - size = sizeof(buf); - r = libmsi_record_get_string(hrec, 2, buf, &size); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - ok(!strcmp(buf, "foo"), "Expected \"foo\", got \"%s\"\n", buf); - + check_record_string(hrec, 2, "foo"); g_object_unref(hrec); r = libmsi_query_fetch(hquery, &hrec); @@ -7023,11 +6696,7 @@ static void test_dbmerge(void) r = libmsi_record_get_int(hrec, 1); ok(r == 2, "Expected 2, got %d\n", r); - size = sizeof(buf); - r = libmsi_record_get_string(hrec, 2, buf, &size); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - ok(!strcmp(buf, "bar"), "Expected \"bar\", got \"%s\"\n", buf); - + check_record_string(hrec, 2, "bar"); g_object_unref(hrec); r = libmsi_query_fetch(hquery, &hrec); @@ -7322,71 +6991,24 @@ static void test_columnorder(void) sz = sizeof(buf); strcpy(buf, "kiwi"); - r = libmsi_record_get_string(rec, 1, buf, &sz); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - ok(!strcmp("s255", buf), "Expected \"s255\", got \"%s\"\n", buf); - - sz = sizeof(buf); - strcpy(buf, "kiwi"); - r = libmsi_record_get_string(rec, 2, buf, &sz); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - ok(!strcmp("I2", buf), "Expected \"I2\", got \"%s\"\n", buf); - - sz = sizeof(buf); - strcpy(buf, "kiwi"); - r = libmsi_record_get_string(rec, 3, buf, &sz); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - ok(!strcmp("S255", buf), "Expected \"S255\", got \"%s\"\n", buf); - - sz = sizeof(buf); - strcpy(buf, "kiwi"); - r = libmsi_record_get_string(rec, 4, buf, &sz); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - ok(!strcmp("i2", buf), "Expected \"i2\", got \"%s\"\n", buf); - - sz = sizeof(buf); - strcpy(buf, "kiwi"); - r = libmsi_record_get_string(rec, 5, buf, &sz); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - ok(!strcmp("i2", buf), "Expected \"i2\", got \"%s\"\n", buf); - + check_record_string(rec, 1, "s255"); + check_record_string(rec, 2, "I2"); + check_record_string(rec, 3, "S255"); + check_record_string(rec, 4, "i2"); + check_record_string(rec, 5, "i2"); g_object_unref(rec); rec = NULL; r = libmsi_query_get_column_info(query, LIBMSI_COL_INFO_NAMES, &rec); ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - sz = sizeof(buf); - strcpy(buf, "kiwi"); - r = libmsi_record_get_string(rec, 1, buf, &sz); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - ok(!strcmp("D", buf), "Expected \"D\", got \"%s\"\n", buf); - - sz = sizeof(buf); - strcpy(buf, "kiwi"); - r = libmsi_record_get_string(rec, 2, buf, &sz); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - ok(!strcmp("E", buf), "Expected \"E\", got \"%s\"\n", buf); - - sz = sizeof(buf); - strcpy(buf, "kiwi"); - r = libmsi_record_get_string(rec, 3, buf, &sz); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - ok(!strcmp("A", buf), "Expected \"A\", got \"%s\"\n", buf); - - sz = sizeof(buf); - strcpy(buf, "kiwi"); - r = libmsi_record_get_string(rec, 4, buf, &sz); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - ok(!strcmp("C", buf), "Expected \"C\", got \"%s\"\n", buf); - - sz = sizeof(buf); - strcpy(buf, "kiwi"); - r = libmsi_record_get_string(rec, 5, buf, &sz); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - ok(!strcmp("B", buf), "Expected \"B\", got \"%s\"\n", buf); - + check_record_string(rec, 1, "D"); + check_record_string(rec, 2, "E"); + check_record_string(rec, 3, "A"); + check_record_string(rec, 4, "C"); + check_record_string(rec, 5, "B"); g_object_unref(rec); + libmsi_query_close(query); g_object_unref(query); @@ -7399,20 +7021,12 @@ static void test_columnorder(void) r = do_query(hdb, sql, &rec); ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - sz = sizeof(buf); - strcpy(buf, "kiwi"); - r = libmsi_record_get_string(rec, 1, buf, &sz); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - ok(!strcmp("bc", buf), "Expected \"bc\", got \"%s\"\n", buf); + check_record_string(rec, 1, "bc"); r = libmsi_record_get_int(rec, 2); ok(r == 3, "Expected 3, got %d\n", r); - sz = sizeof(buf); - strcpy(buf, "kiwi"); - r = libmsi_record_get_string(rec, 3, buf, &sz); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - ok(!strcmp("a", buf), "Expected \"a\", got \"%s\"\n", buf); + check_record_string(rec, 3, "a"); r = libmsi_record_get_int(rec, 4); ok(r == 2, "Expected 2, got %d\n", r); @@ -7432,101 +7046,56 @@ static void test_columnorder(void) r = libmsi_query_fetch(query, &rec); ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - sz = sizeof(buf); - strcpy(buf, "kiwi"); - r = libmsi_record_get_string(rec, 1, buf, &sz); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - ok(!strcmp("T", buf), "Expected \"T\", got \"%s\"\n", buf); + check_record_string(rec, 1, "T"); r = libmsi_record_get_int(rec, 2); ok(r == 1, "Expected 1, got %d\n", r); - sz = sizeof(buf); - strcpy(buf, "kiwi"); - r = libmsi_record_get_string(rec, 3, buf, &sz); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - ok(!strcmp("D", buf), "Expected \"D\", got \"%s\"\n", buf); - + check_record_string(rec, 3, "D"); g_object_unref(rec); r = libmsi_query_fetch(query, &rec); ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - sz = sizeof(buf); - strcpy(buf, "kiwi"); - r = libmsi_record_get_string(rec, 1, buf, &sz); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - ok(!strcmp("T", buf), "Expected \"T\", got \"%s\"\n", buf); + check_record_string(rec, 1, "T"); r = libmsi_record_get_int(rec, 2); ok(r == 2, "Expected 2, got %d\n", r); - sz = sizeof(buf); - strcpy(buf, "kiwi"); - r = libmsi_record_get_string(rec, 3, buf, &sz); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - ok(!strcmp("E", buf), "Expected \"E\", got \"%s\"\n", buf); - + check_record_string(rec, 3, "E"); g_object_unref(rec); r = libmsi_query_fetch(query, &rec); ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - sz = sizeof(buf); - strcpy(buf, "kiwi"); - r = libmsi_record_get_string(rec, 1, buf, &sz); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - ok(!strcmp("T", buf), "Expected \"T\", got \"%s\"\n", buf); + check_record_string(rec, 1, "T"); r = libmsi_record_get_int(rec, 2); ok(r == 3, "Expected 3, got %d\n", r); - sz = sizeof(buf); - strcpy(buf, "kiwi"); - r = libmsi_record_get_string(rec, 3, buf, &sz); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - ok(!strcmp("A", buf), "Expected \"A\", got \"%s\"\n", buf); - + check_record_string(rec, 3, "A"); g_object_unref(rec); r = libmsi_query_fetch(query, &rec); ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - sz = sizeof(buf); - strcpy(buf, "kiwi"); - r = libmsi_record_get_string(rec, 1, buf, &sz); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - ok(!strcmp("T", buf), "Expected \"T\", got \"%s\"\n", buf); + check_record_string(rec, 1, "T"); r = libmsi_record_get_int(rec, 2); ok(r == 4, "Expected 4, got %d\n", r); - sz = sizeof(buf); - strcpy(buf, "kiwi"); - r = libmsi_record_get_string(rec, 3, buf, &sz); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - ok(!strcmp("C", buf), "Expected \"C\", got \"%s\"\n", buf); - + check_record_string(rec, 3, "C"); g_object_unref(rec); r = libmsi_query_fetch(query, &rec); ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - sz = sizeof(buf); - strcpy(buf, "kiwi"); - r = libmsi_record_get_string(rec, 1, buf, &sz); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - ok(!strcmp("T", buf), "Expected \"T\", got \"%s\"\n", buf); + check_record_string(rec, 1, "T"); r = libmsi_record_get_int(rec, 2); ok(r == 5, "Expected 5, got %d\n", r); - sz = sizeof(buf); - strcpy(buf, "kiwi"); - r = libmsi_record_get_string(rec, 3, buf, &sz); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - ok(!strcmp("B", buf), "Expected \"B\", got \"%s\"\n", buf); - + check_record_string(rec, 3, "B"); g_object_unref(rec); r = libmsi_query_fetch(query, &rec); @@ -7550,71 +7119,22 @@ static void test_columnorder(void) r = libmsi_query_get_column_info(query, LIBMSI_COL_INFO_TYPES, &rec); ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - sz = sizeof(buf); - strcpy(buf, "kiwi"); - r = libmsi_record_get_string(rec, 1, buf, &sz); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - ok(!strcmp("i2", buf), "Expected \"i2\", got \"%s\"\n", buf); - - sz = sizeof(buf); - strcpy(buf, "kiwi"); - r = libmsi_record_get_string(rec, 2, buf, &sz); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - ok(!strcmp("S255", buf), "Expected \"S255\", got \"%s\"\n", buf); - - sz = sizeof(buf); - strcpy(buf, "kiwi"); - r = libmsi_record_get_string(rec, 3, buf, &sz); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - ok(!strcmp("s255", buf), "Expected \"s255\", got \"%s\"\n", buf); - - sz = sizeof(buf); - strcpy(buf, "kiwi"); - r = libmsi_record_get_string(rec, 4, buf, &sz); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - ok(!strcmp("I2", buf), "Expected \"I2\", got \"%s\"\n", buf); - - sz = sizeof(buf); - strcpy(buf, "kiwi"); - r = libmsi_record_get_string(rec, 5, buf, &sz); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - ok(!strcmp("i2", buf), "Expected \"i2\", got \"%s\"\n", buf); - + check_record_string(rec, 1, "i2"); + check_record_string(rec, 2, "S255"); + check_record_string(rec, 3, "s255"); + check_record_string(rec, 4, "I2"); + check_record_string(rec, 5, "i2"); g_object_unref(rec); rec = NULL; r = libmsi_query_get_column_info(query, LIBMSI_COL_INFO_NAMES, &rec); ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - sz = sizeof(buf); - strcpy(buf, "kiwi"); - r = libmsi_record_get_string(rec, 1, buf, &sz); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - ok(!strcmp("C", buf), "Expected \"C\", got \"%s\"\n", buf); - - sz = sizeof(buf); - strcpy(buf, "kiwi"); - r = libmsi_record_get_string(rec, 2, buf, &sz); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - ok(!strcmp("A", buf), "Expected \"A\", got \"%s\"\n", buf); - - sz = sizeof(buf); - strcpy(buf, "kiwi"); - r = libmsi_record_get_string(rec, 3, buf, &sz); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - ok(!strcmp("D", buf), "Expected \"D\", got \"%s\"\n", buf); - - sz = sizeof(buf); - strcpy(buf, "kiwi"); - r = libmsi_record_get_string(rec, 4, buf, &sz); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - ok(!strcmp("E", buf), "Expected \"E\", got \"%s\"\n", buf); - - sz = sizeof(buf); - strcpy(buf, "kiwi"); - r = libmsi_record_get_string(rec, 5, buf, &sz); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - ok(!strcmp("B", buf), "Expected \"B\", got \"%s\"\n", buf); + check_record_string(rec, 1, "C"); + check_record_string(rec, 2, "A"); + check_record_string(rec, 3, "D"); + check_record_string(rec, 4, "E"); + check_record_string(rec, 5, "B"); g_object_unref(rec); libmsi_query_close(query); @@ -7632,17 +7152,8 @@ static void test_columnorder(void) r = libmsi_record_get_int(rec, 1); ok(r == 2, "Expected 2, got %d\n", r); - sz = sizeof(buf); - strcpy(buf, "kiwi"); - r = libmsi_record_get_string(rec, 2, buf, &sz); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - ok(!strcmp("a", buf), "Expected \"a\", got \"%s\"\n", buf); - - sz = sizeof(buf); - strcpy(buf, "kiwi"); - r = libmsi_record_get_string(rec, 3, buf, &sz); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - ok(!strcmp("bc", buf), "Expected \"bc\", got \"%s\"\n", buf); + check_record_string(rec, 2, "a"); + check_record_string(rec, 3, "bc"); r = libmsi_record_get_int(rec, 4); ok(r == 3, "Expected 3, got %d\n", r); @@ -7662,101 +7173,56 @@ static void test_columnorder(void) r = libmsi_query_fetch(query, &rec); ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - sz = sizeof(buf); - strcpy(buf, "kiwi"); - r = libmsi_record_get_string(rec, 1, buf, &sz); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - ok(!strcmp("T", buf), "Expected \"T\", got \"%s\"\n", buf); + check_record_string(rec, 1, "T"); r = libmsi_record_get_int(rec, 2); ok(r == 1, "Expected 1, got %d\n", r); - sz = sizeof(buf); - strcpy(buf, "kiwi"); - r = libmsi_record_get_string(rec, 3, buf, &sz); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - ok(!strcmp("D", buf), "Expected \"D\", got \"%s\"\n", buf); - + check_record_string(rec, 3, "D"); g_object_unref(rec); r = libmsi_query_fetch(query, &rec); ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - sz = sizeof(buf); - strcpy(buf, "kiwi"); - r = libmsi_record_get_string(rec, 1, buf, &sz); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - ok(!strcmp("T", buf), "Expected \"T\", got \"%s\"\n", buf); + check_record_string(rec, 1, "T"); r = libmsi_record_get_int(rec, 2); ok(r == 2, "Expected 2, got %d\n", r); - sz = sizeof(buf); - strcpy(buf, "kiwi"); - r = libmsi_record_get_string(rec, 3, buf, &sz); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - ok(!strcmp("E", buf), "Expected \"E\", got \"%s\"\n", buf); - + check_record_string(rec, 3, "E"); g_object_unref(rec); r = libmsi_query_fetch(query, &rec); ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - sz = sizeof(buf); - strcpy(buf, "kiwi"); - r = libmsi_record_get_string(rec, 1, buf, &sz); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - ok(!strcmp("T", buf), "Expected \"T\", got \"%s\"\n", buf); + check_record_string(rec, 1, "T"); r = libmsi_record_get_int(rec, 2); ok(r == 3, "Expected 3, got %d\n", r); - sz = sizeof(buf); - strcpy(buf, "kiwi"); - r = libmsi_record_get_string(rec, 3, buf, &sz); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - ok(!strcmp("A", buf), "Expected \"A\", got \"%s\"\n", buf); - + check_record_string(rec, 3, "A"); g_object_unref(rec); r = libmsi_query_fetch(query, &rec); ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - sz = sizeof(buf); - strcpy(buf, "kiwi"); - r = libmsi_record_get_string(rec, 1, buf, &sz); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - ok(!strcmp("T", buf), "Expected \"T\", got \"%s\"\n", buf); + check_record_string(rec, 1, "T"); r = libmsi_record_get_int(rec, 2); ok(r == 4, "Expected 4, got %d\n", r); - sz = sizeof(buf); - strcpy(buf, "kiwi"); - r = libmsi_record_get_string(rec, 3, buf, &sz); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - ok(!strcmp("C", buf), "Expected \"C\", got \"%s\"\n", buf); - + check_record_string(rec, 3, "C"); g_object_unref(rec); r = libmsi_query_fetch(query, &rec); ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - sz = sizeof(buf); - strcpy(buf, "kiwi"); - r = libmsi_record_get_string(rec, 1, buf, &sz); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - ok(!strcmp("T", buf), "Expected \"T\", got \"%s\"\n", buf); + check_record_string(rec, 1, "T"); r = libmsi_record_get_int(rec, 2); ok(r == 5, "Expected 5, got %d\n", r); - sz = sizeof(buf); - strcpy(buf, "kiwi"); - r = libmsi_record_get_string(rec, 3, buf, &sz); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - ok(!strcmp("B", buf), "Expected \"B\", got \"%s\"\n", buf); - + check_record_string(rec, 3, "B"); g_object_unref(rec); r = libmsi_query_fetch(query, &rec); @@ -7778,6 +7244,7 @@ static void test_createtable(void) unsigned res; unsigned size; char buffer[0x20]; + gchar *str; hdb = create_db(); ok(hdb, "failed to create db\n"); @@ -7794,9 +7261,9 @@ static void test_createtable(void) res = libmsi_query_get_column_info( htab, LIBMSI_COL_INFO_NAMES, &hrec ); todo_wine ok(res == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", res); - size = sizeof(buffer); - res = libmsi_record_get_string(hrec, 1, buffer, &size ); - todo_wine ok(res == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", res); + str = libmsi_record_get_string(hrec, 1); + todo_wine ok(str, "Expected string\n"); + g_free(str); g_object_unref( hrec ); res = libmsi_query_close( htab ); @@ -7826,11 +7293,7 @@ static void test_createtable(void) res = libmsi_query_get_column_info( htab, LIBMSI_COL_INFO_NAMES, &hrec ); ok(res == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", res); - buffer[0] = 0; - size = sizeof(buffer); - res = libmsi_record_get_string(hrec, 1, buffer, &size ); - ok(res == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", res); - ok(!strcmp(buffer,"b"), "b != %s\n", buffer); + check_record_string(hrec, 1, "b"); g_object_unref( hrec ); res = libmsi_query_close( htab ); @@ -7854,12 +7317,7 @@ static void test_createtable(void) res = libmsi_query_get_column_info( htab, LIBMSI_COL_INFO_NAMES, &hrec ); ok(res == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", res); - buffer[0] = 0; - size = sizeof(buffer); - res = libmsi_record_get_string(hrec, 1, buffer, &size ); - ok(res == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", res); - ok(!strcmp(buffer,"b"), "b != %s\n", buffer); - + check_record_string(hrec, 1, "b"); g_object_unref( hrec ); res = libmsi_query_close( htab ); @@ -7887,6 +7345,7 @@ static void test_embedded_nulls(void) LibmsiDatabase *hdb; LibmsiRecord *hrec; char buffer[32]; + gchar *str; r = libmsi_database_open( msifile, LIBMSI_DB_OPEN_CREATE, &hdb ); ok( r == LIBMSI_RESULT_SUCCESS, "failed to open database %u\n", r ); @@ -7899,11 +7358,10 @@ static void test_embedded_nulls(void) r = do_query( hdb, "SELECT `Text` FROM `Control` WHERE `Dialog` = 'LicenseAgreementDlg'", &hrec ); ok( r == LIBMSI_RESULT_SUCCESS, "query failed %u\n", r ); - buffer[0] = 0; - sz = sizeof(buffer); - r = libmsi_record_get_string( hrec, 1, buffer, &sz ); - ok( r == LIBMSI_RESULT_SUCCESS, "failed to get string %u\n", r ); - ok( !memcmp( "text\r\ntext\ntext", buffer, sizeof("text\r\ntext\ntext") - 1 ), "wrong buffer contents \"%s\"\n", buffer ); + str = libmsi_record_get_string( hrec, 1); + ok(str, "failed to get string\n" ); + ok( !memcmp( "text\r\ntext\ntext", str, sizeof("text\r\ntext\ntext") - 1 ), "wrong buffer contents \"%s\"\n", str ); + g_free(str); g_object_unref( hrec ); g_object_unref( hdb ); @@ -7977,11 +7435,8 @@ static void test_select_column_names(void) ok( r == LIBMSI_RESULT_SUCCESS, "unexpected result: %u\n", r ); r = libmsi_record_get_field_count( rec2 ); ok( r == 1, "got %u\n", r ); - size = sizeof(buffer); - memset( buffer, 0x55, sizeof(buffer) ); - r = libmsi_record_get_string( rec2, 1, buffer, &size ); - ok( r == LIBMSI_RESULT_SUCCESS, "unexpected result: %u\n", r ); - ok( !buffer[0], "got \"%s\"\n", buffer ); + + check_record_string(rec2, 1, ""); g_object_unref( rec2 ); rec2 = NULL; @@ -7989,27 +7444,16 @@ static void test_select_column_names(void) ok( r == LIBMSI_RESULT_SUCCESS, "unexpected result: %u\n", r ); r = libmsi_record_get_field_count( rec2 ); ok( r == 1, "got %u\n", r ); - size = sizeof(buffer); - memset( buffer, 0x55, sizeof(buffer) ); - r = libmsi_record_get_string( rec2, 1, buffer, &size ); - ok( r == LIBMSI_RESULT_SUCCESS, "unexpected result: %u\n", r ); - ok( !strcmp( buffer, "f0" ), "got \"%s\"\n", buffer ); + + check_record_string( rec2, 1, "f0"); g_object_unref( rec2 ); - size = sizeof(buffer); - memset( buffer, 0x55, sizeof(buffer) ); - r = libmsi_record_get_string( rec, 1, buffer, &size ); - ok( r == LIBMSI_RESULT_SUCCESS, "unexpected result: %u\n", r ); - ok( !buffer[0], "got \"%s\"\n", buffer ); + check_record_string( rec, 1, ""); g_object_unref( rec ); r = libmsi_query_fetch( query, &rec ); ok( r == LIBMSI_RESULT_SUCCESS, "unexpected result: %u\n", r ); - size = sizeof(buffer); - memset( buffer, 0x55, sizeof(buffer) ); - r = libmsi_record_get_string( rec, 1, buffer, &size ); - ok( r == LIBMSI_RESULT_SUCCESS, "unexpected result: %u\n", r ); - ok( !buffer[0], "got \"%s\"\n", buffer ); + check_record_string(rec, 1, ""); g_object_unref( rec ); r = libmsi_query_fetch( query, &rec ); @@ -8030,20 +7474,12 @@ static void test_select_column_names(void) ok( r == LIBMSI_RESULT_SUCCESS, "unexpected result: %u\n", r ); r = libmsi_record_get_field_count( rec ); ok( r == 2, "got %u\n", r ); - size = sizeof(buffer); - memset( buffer, 0x55, sizeof(buffer) ); - r = libmsi_record_get_string( rec, 1, buffer, &size ); - ok( r == LIBMSI_RESULT_SUCCESS, "unexpected result: %u\n", r ); - ok( !strcmp( buffer, "1" ), "got \"%s\"\n", buffer ); + check_record_string(rec, 1, "1"); g_object_unref( rec ); r = libmsi_query_fetch( query, &rec ); ok( r == LIBMSI_RESULT_SUCCESS, "unexpected result: %u\n", r ); - size = sizeof(buffer); - memset( buffer, 0x55, sizeof(buffer) ); - r = libmsi_record_get_string( rec, 2, buffer, &size ); - ok( r == LIBMSI_RESULT_SUCCESS, "unexpected result: %u\n", r ); - ok( !buffer[0], "got \"%s\"\n", buffer ); + check_record_string( rec, 2, ""); g_object_unref( rec ); r = libmsi_query_fetch( query, &rec ); @@ -8064,30 +7500,14 @@ static void test_select_column_names(void) ok( r == LIBMSI_RESULT_SUCCESS, "unexpected result: %u\n", r ); r = libmsi_record_get_field_count( rec ); ok( r == 2, "got %u\n", r ); - size = sizeof(buffer); - memset( buffer, 0x55, sizeof(buffer) ); - r = libmsi_record_get_string( rec, 1, buffer, &size ); - ok( r == LIBMSI_RESULT_SUCCESS, "unexpected result: %u\n", r ); - ok( !buffer[0], "got \"%s\"\n", buffer ); - size = sizeof(buffer); - memset( buffer, 0x55, sizeof(buffer) ); - r = libmsi_record_get_string( rec, 2, buffer, &size ); - ok( r == LIBMSI_RESULT_SUCCESS, "unexpected result: %u\n", r ); - ok( !strcmp( buffer, "1" ), "got \"%s\"\n", buffer ); + check_record_string( rec, 1, ""); + check_record_string( rec, 2, "1"); g_object_unref( rec ); r = libmsi_query_fetch( query, &rec ); ok( r == LIBMSI_RESULT_SUCCESS, "unexpected result: %u\n", r ); - size = sizeof(buffer); - memset( buffer, 0x55, sizeof(buffer) ); - r = libmsi_record_get_string( rec, 1, buffer, &size ); - ok( r == LIBMSI_RESULT_SUCCESS, "unexpected result: %u\n", r ); - ok( !buffer[0], "got \"%s\"\n", buffer ); - size = sizeof(buffer); - memset( buffer, 0x55, sizeof(buffer) ); - r = libmsi_record_get_string( rec, 2, buffer, &size ); - ok( r == LIBMSI_RESULT_SUCCESS, "unexpected result: %u\n", r ); - ok( !strcmp( buffer, "3" ), "got \"%s\"\n", buffer ); + check_record_string( rec, 1, ""); + check_record_string(rec, 2, "3"); g_object_unref( rec ); r = libmsi_query_fetch( query, &rec ); @@ -8108,40 +7528,16 @@ static void test_select_column_names(void) ok( r == LIBMSI_RESULT_SUCCESS, "unexpected result: %u\n", r ); r = libmsi_record_get_field_count( rec ); ok( r == 3, "got %u\n", r ); - size = sizeof(buffer); - memset( buffer, 0x55, sizeof(buffer) ); - r = libmsi_record_get_string( rec, 1, buffer, &size ); - ok( r == LIBMSI_RESULT_SUCCESS, "unexpected result: %u\n", r ); - ok( !strcmp( buffer, "1" ), "got \"%s\"\n", buffer ); - size = sizeof(buffer); - memset( buffer, 0x55, sizeof(buffer) ); - r = libmsi_record_get_string( rec, 2, buffer, &size ); - ok( r == LIBMSI_RESULT_SUCCESS, "unexpected result: %u\n", r ); - ok( !buffer[0], "got \"%s\"\n", buffer ); - size = sizeof(buffer); - memset( buffer, 0x55, sizeof(buffer) ); - r = libmsi_record_get_string( rec, 3, buffer, &size ); - ok( r == LIBMSI_RESULT_SUCCESS, "unexpected result: %u\n", r ); - ok( !strcmp( buffer, "2" ), "got \"%s\"\n", buffer ); + check_record_string(rec, 1, "1"); + check_record_string(rec, 2, ""); + check_record_string(rec, 3, "2"); g_object_unref( rec ); r = libmsi_query_fetch( query, &rec ); ok( r == LIBMSI_RESULT_SUCCESS, "unexpected result: %u\n", r ); - size = sizeof(buffer); - memset( buffer, 0x55, sizeof(buffer) ); - r = libmsi_record_get_string( rec, 1, buffer, &size ); - ok( r == LIBMSI_RESULT_SUCCESS, "unexpected result: %u\n", r ); - ok( !strcmp( buffer, "3" ), "got \"%s\"\n", buffer ); - size = sizeof(buffer); - memset( buffer, 0x55, sizeof(buffer) ); - r = libmsi_record_get_string( rec, 2, buffer, &size ); - ok( r == LIBMSI_RESULT_SUCCESS, "unexpected result: %u\n", r ); - ok( !buffer[0], "got \"%s\"\n", buffer ); - size = sizeof(buffer); - memset( buffer, 0x55, sizeof(buffer) ); - r = libmsi_record_get_string( rec, 3, buffer, &size ); - ok( r == LIBMSI_RESULT_SUCCESS, "unexpected result: %u\n", r ); - ok( !strcmp( buffer, "4" ), "got \"%s\"\n", buffer ); + check_record_string(rec, 1, "3"); + check_record_string(rec, 2, ""); + check_record_string(rec, 3, "4"); g_object_unref( rec ); r = libmsi_query_fetch( query, &rec ); diff --git a/tests/testrecord.c b/tests/testrecord.c index 9977912..5736c9c 100644 --- a/tests/testrecord.c +++ b/tests/testrecord.c @@ -48,7 +48,7 @@ static bool create_temp_file (char *name) return TRUE; } -static void test_msirecord(void) +static void test_msirecord (void) { unsigned r, sz; int i; @@ -58,365 +58,262 @@ static void test_msirecord(void) char filename[100]; /* check behaviour with an invalid record */ - r = libmsi_record_get_field_count(0); - ok(r==-1, "field count for invalid record not -1\n"); - r = libmsi_record_is_null(0, 0); - ok(r==0, "invalid handle not considered to be non-null...\n"); - r = libmsi_record_get_int(0,0); - ok(r == LIBMSI_NULL_INT, "got integer from invalid record\n"); - r = libmsi_record_set_int(0,0,0); - ok(r == LIBMSI_RESULT_INVALID_HANDLE, "libmsi_record_set_int returned wrong error\n"); - r = libmsi_record_set_int(0,-1,0); - ok(r == LIBMSI_RESULT_INVALID_HANDLE, "libmsi_record_set_int returned wrong error\n"); - r = libmsi_record_clear(0); - ok(r == LIBMSI_RESULT_INVALID_HANDLE, "libmsi_record_clear returned wrong error\n"); + r = libmsi_record_get_field_count (0); + ok (r == -1, "field count for invalid record not -1\n"); + r = libmsi_record_is_null (0, 0); + ok (r == 0, "invalid handle not considered to be non-null...\n"); + r = libmsi_record_get_int (0, 0); + ok (r == LIBMSI_NULL_INT, "got integer from invalid record\n"); + r = libmsi_record_set_int (0, 0, 0); + ok (r == LIBMSI_RESULT_INVALID_HANDLE, "libmsi_record_set_int returned wrong error\n"); + r = libmsi_record_set_int (0, -1, 0); + ok (r == LIBMSI_RESULT_INVALID_HANDLE, "libmsi_record_set_int returned wrong error\n"); + r = libmsi_record_clear (0); + ok (r == LIBMSI_RESULT_INVALID_HANDLE, "libmsi_record_clear returned wrong error\n"); /* check behaviour of a record with 0 elements */ - h = libmsi_record_new(0); - ok(h!=0, "couldn't create record with zero elements\n"); - r = libmsi_record_get_field_count(h); - ok(r==0, "field count should be zero\n"); - r = libmsi_record_is_null(h,0); - ok(r, "new record wasn't null\n"); - r = libmsi_record_is_null(h,1); - ok(r, "out of range record wasn't null\n"); - r = libmsi_record_is_null(h,-1); - ok(r, "out of range record wasn't null\n"); - sz = sizeof buf; - strcpy(buf,"x"); - r = libmsi_record_get_string(h, 0, buf, &sz); - ok(r==LIBMSI_RESULT_SUCCESS, "failed to get null string\n"); - ok(sz==0, "null string too long\n"); - ok(buf[0]==0, "null string not set\n"); - + h = libmsi_record_new (0); + ok (h!=0, "couldn't create record with zero elements\n"); + r = libmsi_record_get_field_count (h); + ok (r == 0, "field count should be zero\n"); + r = libmsi_record_is_null (h, 0); + ok (r, "new record wasn't null\n"); + r = libmsi_record_is_null (h, 1); + ok (r, "out of range record wasn't null\n"); + r = libmsi_record_is_null (h, -1); + ok (r, "out of range record wasn't null\n"); + check_record_string (h, 0, ""); /* same record, but add an integer to it */ - r = libmsi_record_set_int(h, 0, 0); - ok(r == LIBMSI_RESULT_SUCCESS, "Failed to set integer at 0 to 0\n"); - r = libmsi_record_is_null(h,0); - ok(r==0, "new record is null after setting an integer\n"); - r = libmsi_record_set_int(h, 0, 1); - ok(r == LIBMSI_RESULT_SUCCESS, "Failed to set integer at 0 to 1\n"); - r = libmsi_record_set_int(h, 1, 1); - ok(r == LIBMSI_RESULT_INVALID_PARAMETER, "set integer at 1\n"); - r = libmsi_record_set_int(h, -1, 0); - ok(r == LIBMSI_RESULT_INVALID_PARAMETER, "set integer at -1\n"); - r = libmsi_record_is_null(h,0); - ok(r==0, "new record is null after setting an integer\n"); - r = libmsi_record_get_int(h, 0); - ok(r == 1, "failed to get integer\n"); + r = libmsi_record_set_int (h, 0, 0); + ok (r == LIBMSI_RESULT_SUCCESS, "Failed to set integer at 0 to 0\n"); + r = libmsi_record_is_null (h, 0); + ok (r == 0, "new record is null after setting an integer\n"); + r = libmsi_record_set_int (h, 0, 1); + ok (r == LIBMSI_RESULT_SUCCESS, "Failed to set integer at 0 to 1\n"); + r = libmsi_record_set_int (h, 1, 1); + ok (r == LIBMSI_RESULT_INVALID_PARAMETER, "set integer at 1\n"); + r = libmsi_record_set_int (h, -1, 0); + ok (r == LIBMSI_RESULT_INVALID_PARAMETER, "set integer at -1\n"); + r = libmsi_record_is_null (h, 0); + ok (r == 0, "new record is null after setting an integer\n"); + r = libmsi_record_get_int (h, 0); + ok (r == 1, "failed to get integer\n"); /* same record, but add a null or empty string to it */ - r = libmsi_record_set_string(h, 0, NULL); - ok(r == LIBMSI_RESULT_SUCCESS, "Failed to set null string at 0\n"); - r = libmsi_record_is_null(h, 0); - ok(r == true, "null string not null field\n"); - buf[0] = 0; - sz = sizeof buf; - r = libmsi_record_get_string(h, 0, buf, &sz); - ok(r == LIBMSI_RESULT_SUCCESS, "Failed to get string at 0\n"); - ok(buf[0] == 0, "libmsi_record_get_string returned the wrong string\n"); - ok(sz == 0, "libmsi_record_get_string returned the wrong length\n"); - r = libmsi_record_set_string(h, 0, ""); - ok(r == LIBMSI_RESULT_SUCCESS, "Failed to set empty string at 0\n"); - r = libmsi_record_is_null(h, 0); - ok(r == true, "null string not null field\n"); - buf[0] = 0; - sz = sizeof buf; - r = libmsi_record_get_string(h, 0, buf, &sz); - ok(r == LIBMSI_RESULT_SUCCESS, "Failed to get string at 0\n"); - ok(buf[0] == 0, "libmsi_record_get_string returned the wrong string\n"); - ok(sz == 0, "libmsi_record_get_string returned the wrong length\n"); + r = libmsi_record_set_string (h, 0, NULL); + ok (r == LIBMSI_RESULT_SUCCESS, "Failed to set null string at 0\n"); + r = libmsi_record_is_null (h, 0); + ok (r == true, "null string not null field\n"); + check_record_string (h, 0, ""); + r = libmsi_record_set_string (h, 0, ""); + ok (r == LIBMSI_RESULT_SUCCESS, "Failed to set empty string at 0\n"); + r = libmsi_record_is_null (h, 0); + ok (r == true, "null string not null field\n"); + check_record_string (h, 0, ""); /* same record, but add a string to it */ - r = libmsi_record_set_string(h,0,str); - ok(r == LIBMSI_RESULT_SUCCESS, "Failed to set string at 0\n"); - r = libmsi_record_get_int(h, 0); - ok(r == LIBMSI_NULL_INT, "should get invalid integer\n"); - buf[0]=0; - sz = sizeof buf; - r = libmsi_record_get_string(h,0,buf,&sz); - ok(r == LIBMSI_RESULT_SUCCESS, "Failed to get string at 0\n"); - ok(0==strcmp(buf,str), "libmsi_record_get_string returned the wrong string\n"); - ok(sz == sizeof str-1, "libmsi_record_get_string returned the wrong length\n"); - buf[0]=0; - sz = sizeof str - 2; - r = libmsi_record_get_string(h,0,buf,&sz); - ok(r == LIBMSI_RESULT_MORE_DATA, "small buffer should yield LIBMSI_RESULT_MORE_DATA\n"); - ok(sz == sizeof str-1, "libmsi_record_get_string returned the wrong length\n"); - ok(0==strncmp(buf,str,sizeof str-3), "libmsi_record_get_string returned the wrong string\n"); - ok(buf[sizeof str - 3]==0, "string wasn't nul terminated\n"); - - buf[0]=0; - sz = sizeof str; - r = libmsi_record_get_string(h,0,buf,&sz); - ok(r == LIBMSI_RESULT_SUCCESS, "wrong error\n"); - ok(sz == sizeof str-1, "libmsi_record_get_string returned the wrong length\n"); - ok(0==strcmp(buf,str), "libmsi_record_get_string returned the wrong string\n"); - - - memset(buf, 0, sizeof buf); - sz = 5; - r = libmsi_record_get_string(h,0,buf,&sz); - ok(r == LIBMSI_RESULT_MORE_DATA, "wrong error\n"); - ok(sz == 5, "libmsi_record_get_string returned the wrong length\n"); - ok(0==memcmp(buf,str,4), "libmsi_record_get_string returned the wrong string\n"); - - sz = 0; - buf[0] = 'x'; - r = libmsi_record_get_string(h,0,buf,&sz); - ok(r == LIBMSI_RESULT_MORE_DATA, "wrong error\n"); - ok(sz == 5, "libmsi_record_get_string returned the wrong length\n"); - ok('x'==buf[0], "libmsi_record_get_string returned the wrong string\n"); + r = libmsi_record_set_string (h, 0, str); + ok (r == LIBMSI_RESULT_SUCCESS, "Failed to set string at 0\n"); + r = libmsi_record_get_int (h, 0); + ok (r == LIBMSI_NULL_INT, "should get invalid integer\n"); + check_record_string (h, 0, str); /* same record, check we can wipe all the data */ - r = libmsi_record_clear(h); - ok(r == LIBMSI_RESULT_SUCCESS, "Failed to clear record\n"); - r = libmsi_record_clear(h); - ok(r == LIBMSI_RESULT_SUCCESS, "Failed to clear record again\n"); - r = libmsi_record_is_null(h,0); - ok(r, "cleared record wasn't null\n"); + r = libmsi_record_clear (h); + ok (r == LIBMSI_RESULT_SUCCESS, "Failed to clear record\n"); + r = libmsi_record_clear (h); + ok (r == LIBMSI_RESULT_SUCCESS, "Failed to clear record again\n"); + r = libmsi_record_is_null (h, 0); + ok (r, "cleared record wasn't null\n"); /* same record, try converting strings to integers */ - i = libmsi_record_set_string(h,0,"42"); - ok(i == LIBMSI_RESULT_SUCCESS, "Failed to set string at 0\n"); - i = libmsi_record_get_int(h, 0); - ok(i == 42, "should get invalid integer\n"); - i = libmsi_record_set_string(h,0,"-42"); - ok(i == LIBMSI_RESULT_SUCCESS, "Failed to set string at 0\n"); - i = libmsi_record_get_int(h, 0); - ok(i == -42, "should get invalid integer\n"); - i = libmsi_record_set_string(h,0," 42"); - ok(i == LIBMSI_RESULT_SUCCESS, "Failed to set string at 0\n"); - i = libmsi_record_get_int(h, 0); - ok(i == LIBMSI_NULL_INT, "should get invalid integer\n"); - i = libmsi_record_set_string(h,0,"42 "); - ok(i == LIBMSI_RESULT_SUCCESS, "Failed to set string at 0\n"); - i = libmsi_record_get_int(h, 0); - ok(i == LIBMSI_NULL_INT, "should get invalid integer\n"); - i = libmsi_record_set_string(h,0,"42.0"); - ok(i == LIBMSI_RESULT_SUCCESS, "Failed to set string at 0\n"); - i = libmsi_record_get_int(h, 0); - ok(i == LIBMSI_NULL_INT, "should get invalid integer\n"); - i = libmsi_record_set_string(h,0,"0x42"); - ok(i == LIBMSI_RESULT_SUCCESS, "Failed to set string at 0\n"); - i = libmsi_record_get_int(h, 0); - ok(i == LIBMSI_NULL_INT, "should get invalid integer\n"); - i = libmsi_record_set_string(h,0,"1000000000000000"); - ok(i == LIBMSI_RESULT_SUCCESS, "Failed to set string at 0\n"); - i = libmsi_record_get_int(h, 0); - ok(i == -1530494976, "should get truncated integer\n"); - i = libmsi_record_set_string(h,0,"2147483647"); - ok(i == LIBMSI_RESULT_SUCCESS, "Failed to set string at 0\n"); - i = libmsi_record_get_int(h, 0); - ok(i == 2147483647, "should get maxint\n"); - i = libmsi_record_set_string(h,0,"-2147483647"); - ok(i == LIBMSI_RESULT_SUCCESS, "Failed to set string at 0\n"); - i = libmsi_record_get_int(h, 0); - ok(i == -2147483647, "should get -maxint-1\n"); - i = libmsi_record_set_string(h,0,"4294967297"); - ok(i == LIBMSI_RESULT_SUCCESS, "Failed to set string at 0\n"); - i = libmsi_record_get_int(h, 0); - ok(i == 1, "should get one\n"); - i = libmsi_record_set_string(h,0,"foo"); - ok(i == LIBMSI_RESULT_SUCCESS, "Failed to set string at 0\n"); - i = libmsi_record_get_int(h, 0); - ok(i == LIBMSI_NULL_INT, "should get zero\n"); - i = libmsi_record_set_string(h,0,""); - ok(i == LIBMSI_RESULT_SUCCESS, "Failed to set string at 0\n"); - i = libmsi_record_get_int(h, 0); - ok(i == LIBMSI_NULL_INT, "should get zero\n"); - i = libmsi_record_set_string(h,0,"+1"); - ok(i == LIBMSI_RESULT_SUCCESS, "Failed to set string at 0\n"); - i = libmsi_record_get_int(h, 0); - ok(i == LIBMSI_NULL_INT, "should get zero\n"); + i = libmsi_record_set_string (h, 0, "42"); + ok (i == LIBMSI_RESULT_SUCCESS, "Failed to set string at 0\n"); + i = libmsi_record_get_int (h, 0); + ok (i == 42, "should get invalid integer\n"); + i = libmsi_record_set_string (h, 0, "-42"); + ok (i == LIBMSI_RESULT_SUCCESS, "Failed to set string at 0\n"); + i = libmsi_record_get_int (h, 0); + ok (i == -42, "should get invalid integer\n"); + i = libmsi_record_set_string (h, 0, " 42"); + ok (i == LIBMSI_RESULT_SUCCESS, "Failed to set string at 0\n"); + i = libmsi_record_get_int (h, 0); + ok (i == LIBMSI_NULL_INT, "should get invalid integer\n"); + i = libmsi_record_set_string (h, 0, "42 "); + ok (i == LIBMSI_RESULT_SUCCESS, "Failed to set string at 0\n"); + i = libmsi_record_get_int (h, 0); + ok (i == LIBMSI_NULL_INT, "should get invalid integer\n"); + i = libmsi_record_set_string (h, 0, "42.0"); + ok (i == LIBMSI_RESULT_SUCCESS, "Failed to set string at 0\n"); + i = libmsi_record_get_int (h, 0); + ok (i == LIBMSI_NULL_INT, "should get invalid integer\n"); + i = libmsi_record_set_string (h, 0, "0x42"); + ok (i == LIBMSI_RESULT_SUCCESS, "Failed to set string at 0\n"); + i = libmsi_record_get_int (h, 0); + ok (i == LIBMSI_NULL_INT, "should get invalid integer\n"); + i = libmsi_record_set_string (h, 0, "1000000000000000"); + ok (i == LIBMSI_RESULT_SUCCESS, "Failed to set string at 0\n"); + i = libmsi_record_get_int (h, 0); + ok (i == -1530494976, "should get truncated integer\n"); + i = libmsi_record_set_string (h, 0, "2147483647"); + ok (i == LIBMSI_RESULT_SUCCESS, "Failed to set string at 0\n"); + i = libmsi_record_get_int (h, 0); + ok (i == 2147483647, "should get maxint\n"); + i = libmsi_record_set_string (h, 0, "-2147483647"); + ok (i == LIBMSI_RESULT_SUCCESS, "Failed to set string at 0\n"); + i = libmsi_record_get_int (h, 0); + ok (i == -2147483647, "should get -maxint-1\n"); + i = libmsi_record_set_string (h, 0, "4294967297"); + ok (i == LIBMSI_RESULT_SUCCESS, "Failed to set string at 0\n"); + i = libmsi_record_get_int (h, 0); + ok (i == 1, "should get one\n"); + i = libmsi_record_set_string (h, 0, "foo"); + ok (i == LIBMSI_RESULT_SUCCESS, "Failed to set string at 0\n"); + i = libmsi_record_get_int (h, 0); + ok (i == LIBMSI_NULL_INT, "should get zero\n"); + i = libmsi_record_set_string (h, 0, ""); + ok (i == LIBMSI_RESULT_SUCCESS, "Failed to set string at 0\n"); + i = libmsi_record_get_int (h, 0); + ok (i == LIBMSI_NULL_INT, "should get zero\n"); + i = libmsi_record_set_string (h, 0, "+1"); + ok (i == LIBMSI_RESULT_SUCCESS, "Failed to set string at 0\n"); + i = libmsi_record_get_int (h, 0); + ok (i == LIBMSI_NULL_INT, "should get zero\n"); /* same record, try converting integers to strings */ - r = libmsi_record_set_int(h, 0, 32); - ok(r == LIBMSI_RESULT_SUCCESS, "Failed to set integer at 0 to 32\n"); - sz = 1; - r = libmsi_record_get_string(h, 0, NULL, &sz); - ok(r == LIBMSI_RESULT_SUCCESS, "failed to get string from integer\n"); - ok(sz == 2, "length wrong\n"); - buf[0]=0; - sz = sizeof buf; - r = libmsi_record_get_string(h, 0, buf, &sz); - ok(r == LIBMSI_RESULT_SUCCESS, "failed to get string from integer\n"); - ok(0==strcmp(buf,"32"), "failed to get string from integer\n"); - r = libmsi_record_set_int(h, 0, -32); - ok(r == LIBMSI_RESULT_SUCCESS, "Failed to set integer at 0 to 32\n"); - buf[0]=0; - sz = 1; - r = libmsi_record_get_string(h, 0, NULL, &sz); - ok(r == LIBMSI_RESULT_SUCCESS, "failed to get string from integer\n"); - ok(sz == 3, "length wrong\n"); - sz = sizeof buf; - r = libmsi_record_get_string(h, 0, buf, &sz); - ok(r == LIBMSI_RESULT_SUCCESS, "failed to get string from integer\n"); - ok(0==strcmp(buf,"-32"), "failed to get string from integer\n"); - buf[0]=0; + r = libmsi_record_set_int (h, 0, 32); + ok (r == LIBMSI_RESULT_SUCCESS, "Failed to set integer at 0 to 32\n"); + check_record_string (h, 0, "32"); + r = libmsi_record_set_int (h, 0, -32); + ok (r == LIBMSI_RESULT_SUCCESS, "Failed to set integer at 0 to 32\n"); + check_record_string (h, 0, "-32"); /* same record, now try streams */ - r = libmsi_record_load_stream(h, 0, NULL); - ok(r == LIBMSI_RESULT_INVALID_PARAMETER, "set NULL stream\n"); + r = libmsi_record_load_stream (h, 0, NULL); + ok (r == LIBMSI_RESULT_INVALID_PARAMETER, "set NULL stream\n"); sz = sizeof buf; - r = libmsi_record_save_stream(h, 0, buf, &sz); - ok(r == LIBMSI_RESULT_INVALID_DATATYPE, "read non-stream type\n"); - ok(sz == sizeof buf, "set sz\n"); + r = libmsi_record_save_stream (h, 0, buf, &sz); + ok (r == LIBMSI_RESULT_INVALID_DATATYPE, "read non-stream type\n"); + ok (sz == sizeof buf, "set sz\n"); /* same record, now close it */ - g_object_unref(h); + g_object_unref (h); /* now try streams in a new record - need to create a file to play with */ - g_assert (create_temp_file(filename)); + g_assert (create_temp_file (filename)); /* streams can't be inserted in field 0 for some reason */ - h = libmsi_record_new(2); - ok(h, "couldn't create a two field record\n"); - r = libmsi_record_load_stream(h, 0, filename); - ok(r == LIBMSI_RESULT_INVALID_PARAMETER, "added stream to field 0\n"); - r = libmsi_record_load_stream(h, 1, filename); - ok(r == LIBMSI_RESULT_SUCCESS, "failed to add stream to record\n"); - r = libmsi_record_save_stream(h, 1, buf, NULL); - ok(r == LIBMSI_RESULT_INVALID_PARAMETER, "should return error\n"); - unlink(filename); /* Windows 98 doesn't like this at all, so don't check return. */ - r = libmsi_record_save_stream(h, 1, NULL, NULL); - ok(r == LIBMSI_RESULT_INVALID_PARAMETER, "should return error\n"); + h = libmsi_record_new (2); + ok (h, "couldn't create a two field record\n"); + r = libmsi_record_load_stream (h, 0, filename); + ok (r == LIBMSI_RESULT_INVALID_PARAMETER, "added stream to field 0\n"); + r = libmsi_record_load_stream (h, 1, filename); + ok (r == LIBMSI_RESULT_SUCCESS, "failed to add stream to record\n"); + r = libmsi_record_save_stream (h, 1, buf, NULL); + ok (r == LIBMSI_RESULT_INVALID_PARAMETER, "should return error\n"); + unlink (filename); /* Windows 98 doesn't like this at all, so don't check return. */ + r = libmsi_record_save_stream (h, 1, NULL, NULL); + ok (r == LIBMSI_RESULT_INVALID_PARAMETER, "should return error\n"); sz = sizeof buf; - r = libmsi_record_save_stream(h, 1, NULL, &sz); - ok(r == LIBMSI_RESULT_SUCCESS, "failed to read stream\n"); - ok(sz==26,"couldn't get size of stream\n"); + r = libmsi_record_save_stream (h, 1, NULL, &sz); + ok (r == LIBMSI_RESULT_SUCCESS, "failed to read stream\n"); + ok (sz == 26, "couldn't get size of stream\n"); sz = 0; - r = libmsi_record_save_stream(h, 1, buf, &sz); - ok(r == LIBMSI_RESULT_SUCCESS, "failed to read stream\n"); - ok(sz==0,"short read\n"); + r = libmsi_record_save_stream (h, 1, buf, &sz); + ok (r == LIBMSI_RESULT_SUCCESS, "failed to read stream\n"); + ok (sz == 0, "short read\n"); sz = sizeof buf; - r = libmsi_record_save_stream(h, 1, buf, &sz); - ok(r == LIBMSI_RESULT_SUCCESS, "failed to read stream\n"); - ok(sz==sizeof buf,"short read\n"); - ok(!strncmp(buf,"abcdefghij",10), "read the wrong thing\n"); + r = libmsi_record_save_stream (h, 1, buf, &sz); + ok (r == LIBMSI_RESULT_SUCCESS, "failed to read stream\n"); + ok (sz == sizeof buf, "short read\n"); + ok (!strncmp (buf, "abcdefghij", 10), "read the wrong thing\n"); sz = sizeof buf; - r = libmsi_record_save_stream(h, 1, buf, &sz); - ok(r == LIBMSI_RESULT_SUCCESS, "failed to read stream\n"); - ok(sz==sizeof buf,"short read\n"); - ok(!strncmp(buf,"klmnopqrst",10), "read the wrong thing\n"); - memset(buf,0,sizeof buf); + r = libmsi_record_save_stream (h, 1, buf, &sz); + ok (r == LIBMSI_RESULT_SUCCESS, "failed to read stream\n"); + ok (sz == sizeof buf, "short read\n"); + ok (!strncmp (buf, "klmnopqrst", 10), "read the wrong thing\n"); + memset (buf, 0, sizeof buf); sz = sizeof buf; - r = libmsi_record_save_stream(h, 1, buf, &sz); - ok(r == LIBMSI_RESULT_SUCCESS, "failed to read stream\n"); - ok(sz==6,"short read\n"); - ok(!strcmp(buf,"uvwxyz"), "read the wrong thing\n"); - memset(buf,0,sizeof buf); + r = libmsi_record_save_stream (h, 1, buf, &sz); + ok (r == LIBMSI_RESULT_SUCCESS, "failed to read stream\n"); + ok (sz == 6, "short read\n"); + ok (!strcmp (buf, "uvwxyz"), "read the wrong thing\n"); + memset (buf, 0, sizeof buf); sz = sizeof buf; - r = libmsi_record_save_stream(h, 1, buf, &sz); - ok(r == LIBMSI_RESULT_SUCCESS, "failed to read stream\n"); - ok(sz==0,"size non-zero at end of stream\n"); - ok(buf[0]==0, "read something at end of the stream\n"); - r = libmsi_record_load_stream(h, 1, NULL); - ok(r == LIBMSI_RESULT_SUCCESS, "failed to reset stream\n"); + r = libmsi_record_save_stream (h, 1, buf, &sz); + ok (r == LIBMSI_RESULT_SUCCESS, "failed to read stream\n"); + ok (sz == 0, "size non-zero at end of stream\n"); + ok (buf[0] == 0, "read something at end of the stream\n"); + r = libmsi_record_load_stream (h, 1, NULL); + ok (r == LIBMSI_RESULT_SUCCESS, "failed to reset stream\n"); sz = 0; - r = libmsi_record_save_stream(h, 1, NULL, &sz); - ok(r == LIBMSI_RESULT_SUCCESS, "bytes left wrong after reset\n"); - ok(sz==26,"couldn't get size of stream\n"); + r = libmsi_record_save_stream (h, 1, NULL, &sz); + ok (r == LIBMSI_RESULT_SUCCESS, "bytes left wrong after reset\n"); + ok (sz == 26, "couldn't get size of stream\n"); /* now close the stream record */ - g_object_unref(h); - unlink(filename); /* Delete it for sure, when everything else is closed. */ + g_object_unref (h); + unlink (filename); /* Delete it for sure, when everything else is closed. */ } -static void test_MsiRecordGetString(void) +static void test_MsiRecordGetString (void) { LibmsiRecord *rec; char buf[100]; unsigned sz; unsigned r; - rec = libmsi_record_new(2); - ok(rec != 0, "Expected a valid handle\n"); - - sz = sizeof(buf); - r = libmsi_record_get_string(rec, 1, NULL, &sz); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n",r); - ok(sz == 0, "Expected 0, got %d\n",sz); - - sz = sizeof(buf); - strcpy(buf, "apple"); - r = libmsi_record_get_string(rec, 1, buf, &sz); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - ok(!strcmp(buf, ""), "Expected \"\", got \"%s\"\n", buf); - ok(sz == 0, "Expected 0, got %d\n", sz); - - sz = sizeof(buf); - strcpy(buf, "apple"); - r = libmsi_record_get_string(rec, 10, buf, &sz); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - ok(!strcmp(buf, ""), "Expected \"\", got \"%s\"\n", buf); - ok(sz == 0, "Expected 0, got %d\n", sz); - - g_object_unref(rec); - - rec = libmsi_record_new(1); - ok(rec != 0, "Expected a valid handle\n"); - - r = libmsi_record_set_int(rec, 1, 5); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - - sz = sizeof(buf); - r = libmsi_record_get_string(rec, 1, NULL, &sz); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n",r); - ok(sz == 1, "Expected 1, got %d\n",sz); - - sz = sizeof(buf); - strcpy(buf, "apple"); - r = libmsi_record_get_string(rec, 1, buf, &sz); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - ok(!strcmp(buf, "5"), "Expected \"5\", got \"%s\"\n", buf); - ok(sz == 1, "Expectd 1, got %d\n", sz); - - r = libmsi_record_set_int(rec, 1, -5); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - - sz = sizeof(buf); - strcpy(buf, "apple"); - r = libmsi_record_get_string(rec, 1, buf, &sz); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - ok(!strcmp(buf, "-5"), "Expected \"-5\", got \"%s\"\n", buf); - ok(sz == 2, "Expectd 2, got %d\n", sz); - - g_object_unref(rec); + rec = libmsi_record_new (2); + ok (rec != 0, "Expected a valid handle\n"); + check_record_string(rec, 1, ""); + g_object_unref (rec); + + rec = libmsi_record_new (1); + ok (rec != 0, "Expected a valid handle\n"); + + r = libmsi_record_set_int (rec, 1, 5); + ok (r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); + check_record_string (rec, 1, "5"); + + r = libmsi_record_set_int (rec, 1, -5); + ok (r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); + check_record_string (rec, 1, "-5"); + + g_object_unref (rec); } -static void test_MsiRecordGetInteger(void) +static void test_MsiRecordGetInteger (void) { LibmsiRecord *rec; int val; unsigned r; - rec = libmsi_record_new(1); - ok(rec != 0, "Expected a valid handle\n"); + rec = libmsi_record_new (1); + ok (rec != 0, "Expected a valid handle\n"); - r = libmsi_record_set_string(rec, 1, "5"); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); + r = libmsi_record_set_string (rec, 1, "5"); + ok (r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - val = libmsi_record_get_int(rec, 1); - ok(val == 5, "Expected 5, got %d\n", val); + val = libmsi_record_get_int (rec, 1); + ok (val == 5, "Expected 5, got %d\n", val); - r = libmsi_record_set_string(rec, 1, "-5"); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); + r = libmsi_record_set_string (rec, 1, "-5"); + ok (r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - val = libmsi_record_get_int(rec, 1); - ok(val == -5, "Expected -5, got %d\n", val); + val = libmsi_record_get_int (rec, 1); + ok (val == -5, "Expected -5, got %d\n", val); - r = libmsi_record_set_string(rec, 1, "5apple"); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); + r = libmsi_record_set_string (rec, 1, "5apple"); + ok (r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - val = libmsi_record_get_int(rec, 1); - ok(val == LIBMSI_NULL_INT, "Expected LIBMSI_NULL_INT, got %d\n", val); + val = libmsi_record_get_int (rec, 1); + ok (val == LIBMSI_NULL_INT, "Expected LIBMSI_NULL_INT, got %d\n", val); - g_object_unref(rec); + g_object_unref (rec); } -static void test_fieldzero(void) +static void test_fieldzero (void) { LibmsiDatabase *hdb; LibmsiQuery *hview; @@ -426,139 +323,115 @@ static void test_fieldzero(void) unsigned sz; unsigned r; - rec = libmsi_record_new(1); - ok(rec != 0, "Expected a valid handle\n"); + rec = libmsi_record_new (1); + ok (rec != 0, "Expected a valid handle\n"); - r = libmsi_record_get_int(rec, 0); - ok(r == LIBMSI_NULL_INT, "Expected LIBMSI_NULL_INT, got %d\n", r); + r = libmsi_record_get_int (rec, 0); + ok (r == LIBMSI_NULL_INT, "Expected LIBMSI_NULL_INT, got %d\n", r); - sz = sizeof(buf); - strcpy(buf, "apple"); - r = libmsi_record_get_string(rec, 0, buf, &sz); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - ok(!strcmp(buf, ""), "Expected \"\", got \"%s\"\n", buf); - ok(sz == 0, "Expectd 0, got %d\n", sz); + check_record_string (rec, 0, ""); - r = libmsi_record_is_null(rec, 0); - ok(r == true, "Expected true, got %d\n", r); + r = libmsi_record_is_null (rec, 0); + ok (r == true, "Expected true, got %d\n", r); - r = libmsi_record_get_int(rec, 1); - ok(r == LIBMSI_NULL_INT, "Expected LIBMSI_NULL_INT, got %d\n", r); + r = libmsi_record_get_int (rec, 1); + ok (r == LIBMSI_NULL_INT, "Expected LIBMSI_NULL_INT, got %d\n", r); - r = libmsi_record_set_int(rec, 1, 42); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); + r = libmsi_record_set_int (rec, 1, 42); + ok (r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - r = libmsi_record_get_int(rec, 0); - ok(r == LIBMSI_NULL_INT, "Expected LIBMSI_NULL_INT, got %d\n", r); + r = libmsi_record_get_int (rec, 0); + ok (r == LIBMSI_NULL_INT, "Expected LIBMSI_NULL_INT, got %d\n", r); - sz = sizeof(buf); - strcpy(buf, "apple"); - r = libmsi_record_get_string(rec, 0, buf, &sz); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - ok(!strcmp(buf, ""), "Expected \"\", got \"%s\"\n", buf); - ok(sz == 0, "Expectd 0, got %d\n", sz); + check_record_string (rec, 0, ""); - r = libmsi_record_is_null(rec, 0); - ok(r == true, "Expected true, got %d\n", r); + r = libmsi_record_is_null (rec, 0); + ok (r == true, "Expected true, got %d\n", r); - r = libmsi_record_get_int(rec, 1); - ok(r == 42, "Expected 42, got %d\n", r); + r = libmsi_record_get_int (rec, 1); + ok (r == 42, "Expected 42, got %d\n", r); - r = libmsi_record_set_string(rec, 1, "bologna"); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); + r = libmsi_record_set_string (rec, 1, "bologna"); + ok (r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - r = libmsi_record_get_int(rec, 0); - ok(r == LIBMSI_NULL_INT, "Expected LIBMSI_NULL_INT, got %d\n", r); + r = libmsi_record_get_int (rec, 0); + ok (r == LIBMSI_NULL_INT, "Expected LIBMSI_NULL_INT, got %d\n", r); - sz = sizeof(buf); - strcpy(buf, "apple"); - r = libmsi_record_get_string(rec, 0, buf, &sz); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - ok(!strcmp(buf, ""), "Expected \"\", got \"%s\"\n", buf); - ok(sz == 0, "Expectd 0, got %d\n", sz); + check_record_string (rec, 0, ""); - r = libmsi_record_is_null(rec, 0); - ok(r == true, "Expected true, got %d\n", r); + r = libmsi_record_is_null (rec, 0); + ok (r == true, "Expected true, got %d\n", r); - sz = sizeof(buf); - strcpy(buf, "apple"); - r = libmsi_record_get_string(rec, 1, buf, &sz); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - ok(!strcmp(buf, "bologna"), "Expected \"bologna\", got \"%s\"\n", buf); - ok(sz == 7, "Expectd 7, got %d\n", sz); + check_record_string (rec, 1, "bologna"); - g_object_unref(rec); + g_object_unref (rec); - r = libmsi_database_open(msifile, LIBMSI_DB_OPEN_CREATE, &hdb); - ok(r == LIBMSI_RESULT_SUCCESS, "libmsi_database_open failed\n"); + r = libmsi_database_open (msifile, LIBMSI_DB_OPEN_CREATE, &hdb); + ok (r == LIBMSI_RESULT_SUCCESS, "libmsi_database_open failed\n"); query = "CREATE TABLE `drone` ( " - "`id` INT, `name` CHAR(32), `number` CHAR(32) " + "`id` INT, `name` CHAR (32), `number` CHAR (32) " "PRIMARY KEY `id`)"; - r = libmsi_database_open_query(hdb, query, &hview); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - r = libmsi_query_execute(hview, 0); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - r = libmsi_query_close(hview); - ok(r == LIBMSI_RESULT_SUCCESS, "libmsi_query_close failed\n"); - g_object_unref(hview); + r = libmsi_database_open_query (hdb, query, &hview); + ok (r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); + r = libmsi_query_execute (hview, 0); + ok (r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); + r = libmsi_query_close (hview); + ok (r == LIBMSI_RESULT_SUCCESS, "libmsi_query_close failed\n"); + g_object_unref (hview); query = "INSERT INTO `drone` ( `id`, `name`, `number` )" - "VALUES('1', 'Abe', '8675309')"; - r = libmsi_database_open_query(hdb, query, &hview); - ok(r == LIBMSI_RESULT_SUCCESS, "libmsi_database_open_query failed\n"); - r = libmsi_query_execute(hview, 0); - ok(r == LIBMSI_RESULT_SUCCESS, "libmsi_query_execute failed\n"); - r = libmsi_query_close(hview); - ok(r == LIBMSI_RESULT_SUCCESS, "libmsi_query_close failed\n"); - g_object_unref(hview); + "VALUES ('1', 'Abe', '8675309')"; + r = libmsi_database_open_query (hdb, query, &hview); + ok (r == LIBMSI_RESULT_SUCCESS, "libmsi_database_open_query failed\n"); + r = libmsi_query_execute (hview, 0); + ok (r == LIBMSI_RESULT_SUCCESS, "libmsi_query_execute failed\n"); + r = libmsi_query_close (hview); + ok (r == LIBMSI_RESULT_SUCCESS, "libmsi_query_close failed\n"); + g_object_unref (hview); rec = NULL; - r = libmsi_database_get_primary_keys(hdb, "drone", &rec); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); + r = libmsi_database_get_primary_keys (hdb, "drone", &rec); + ok (r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - r = libmsi_record_get_int(rec, 0); - ok(r == LIBMSI_NULL_INT, "Expected LIBMSI_NULL_INT, got %d\n", r); + r = libmsi_record_get_int (rec, 0); + ok (r == LIBMSI_NULL_INT, "Expected LIBMSI_NULL_INT, got %d\n", r); - sz = sizeof(buf); - strcpy(buf, "apple"); - r = libmsi_record_get_string(rec, 0, buf, &sz); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - ok(!strcmp(buf, "drone"), "Expected \"drone\", got \"%s\"\n", buf); - ok(sz == 5, "Expectd 5, got %d\n", sz); + check_record_string (rec, 0, "drone"); - r = libmsi_record_is_null(rec, 0); - ok(r == false, "Expected false, got %d\n", r); + r = libmsi_record_is_null (rec, 0); + ok (r == false, "Expected false, got %d\n", r); - g_object_unref(rec); + g_object_unref (rec); - r = libmsi_database_get_primary_keys(hdb, "nosuchtable", &rec); - ok(r == LIBMSI_RESULT_INVALID_TABLE, "Expected LIBMSI_RESULT_INVALID_TABLE, got %d\n", r); + r = libmsi_database_get_primary_keys (hdb, "nosuchtable", &rec); + ok (r == LIBMSI_RESULT_INVALID_TABLE, "Expected LIBMSI_RESULT_INVALID_TABLE, got %d\n", r); query = "SELECT * FROM `drone` WHERE `id` = 1"; - r = libmsi_database_open_query(hdb, query, &hview); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - r = libmsi_query_execute(hview, 0); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - r = libmsi_query_fetch(hview, &rec); - ok(r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); - - r = libmsi_record_get_int(rec, 0); - ok(r == LIBMSI_NULL_INT, "Expected NULL value, got %d\n", r); - r = libmsi_record_is_null(rec, 0); - ok(r == true, "Expected true, got %d\n", r); - - g_object_unref(hview); - g_object_unref(rec); - g_object_unref(hdb); - unlink(msifile); + r = libmsi_database_open_query (hdb, query, &hview); + ok (r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); + r = libmsi_query_execute (hview, 0); + ok (r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); + r = libmsi_query_fetch (hview, &rec); + ok (r == LIBMSI_RESULT_SUCCESS, "Expected LIBMSI_RESULT_SUCCESS, got %d\n", r); + + r = libmsi_record_get_int (rec, 0); + ok (r == LIBMSI_NULL_INT, "Expected NULL value, got %d\n", r); + r = libmsi_record_is_null (rec, 0); + ok (r == true, "Expected true, got %d\n", r); + + g_object_unref (hview); + g_object_unref (rec); + g_object_unref (hdb); + unlink (msifile); } -void main() +void main () { - g_type_init(); - test_msirecord(); - test_MsiRecordGetString(); - test_MsiRecordGetInteger(); - test_fieldzero(); + g_type_init (); + + test_msirecord (); + test_MsiRecordGetString (); + test_MsiRecordGetInteger (); + test_fieldzero (); } |
