diff options
author | Marc-André Lureau <marcandre.lureau@gmail.com> | 2012-12-17 11:59:23 +0100 |
---|---|---|
committer | Paolo Bonzini <pbonzini@redhat.com> | 2013-01-09 13:56:06 +0100 |
commit | 51796fda08d36dfc38848c429d8cabd48e3484a9 (patch) | |
tree | bf53054d65f1d9720e2008d89b224bf951586c01 /libmsi | |
parent | 4509fd0a9f3b17e0c099efa6c235c4e80bf6a97d (diff) | |
download | msitools-51796fda08d36dfc38848c429d8cabd48e3484a9.tar.gz msitools-51796fda08d36dfc38848c429d8cabd48e3484a9.tar.xz msitools-51796fda08d36dfc38848c429d8cabd48e3484a9.zip |
Remove libmsi_database_open_query()
It does the same job as libmsi_query_new()
Diffstat (limited to 'libmsi')
-rw-r--r-- | libmsi/libmsi-database.c | 20 | ||||
-rw-r--r-- | libmsi/libmsi-query.c | 34 | ||||
-rw-r--r-- | libmsi/table.c | 8 |
3 files changed, 31 insertions, 31 deletions
diff --git a/libmsi/libmsi-database.c b/libmsi/libmsi-database.c index 2cad489..adecbaf 100644 --- a/libmsi/libmsi-database.c +++ b/libmsi/libmsi-database.c @@ -948,18 +948,18 @@ static unsigned msi_add_table_to_db(LibmsiDatabase *db, char **columns, char **t strcat(create_sql, columns_sql); strcat(create_sql, postlude); - r = _libmsi_database_open_query( db, create_sql, &view ); - if (r != LIBMSI_RESULT_SUCCESS) + view = libmsi_query_new(db, create_sql, &error); + if (!view) goto done; r = _libmsi_query_execute(view, NULL); libmsi_query_close(view, &error); - if (error) { - g_critical ("%s", error->message); - g_clear_error (&error); - } done: + if (error) + g_critical ("%s", error->message); + + g_clear_error (&error); g_object_unref(view); msi_free(prelude); msi_free(columns_sql); @@ -1587,6 +1587,7 @@ static unsigned merge_diff_row(LibmsiRecord *rec, void *param) LibmsiRecord *row = NULL; char *query = NULL; unsigned r = LIBMSI_RESULT_SUCCESS; + GError *err = NULL; if (table_view_exists(data->db, table->name)) { @@ -1594,8 +1595,8 @@ static unsigned merge_diff_row(LibmsiRecord *rec, void *param) if (!query) return LIBMSI_RESULT_OUTOFMEMORY; - r = _libmsi_database_open_query(data->db, query, &dbview); - if (r != LIBMSI_RESULT_SUCCESS) + dbview = libmsi_query_new(data->db, query, &err); + if (err) goto done; r = _libmsi_query_execute(dbview, NULL); @@ -1632,6 +1633,9 @@ static unsigned merge_diff_row(LibmsiRecord *rec, void *param) list_add_tail(&table->rows, &mergerow->entry); done: + if (err) + g_critical("%s", err->message); + g_clear_error(&err); msi_free(query); g_object_unref(row); g_object_unref(dbview); diff --git a/libmsi/libmsi-query.c b/libmsi/libmsi-query.c index 848fbfa..4952d32 100644 --- a/libmsi/libmsi-query.c +++ b/libmsi/libmsi-query.c @@ -139,6 +139,9 @@ init (LibmsiQuery *self, GError **error) r = _libmsi_parse_sql (self->database, self->query, &self->view, &self->mem); + if (r != LIBMSI_RESULT_SUCCESS) + g_set_error_literal (error, LIBMSI_RESULT_ERROR, r, G_STRFUNC); + return r == LIBMSI_RESULT_SUCCESS; } @@ -172,23 +175,6 @@ unsigned _libmsi_view_find_column( LibmsiView *table, const char *name, const ch return LIBMSI_RESULT_INVALID_PARAMETER; } -LibmsiResult libmsi_database_open_query(LibmsiDatabase *db, - const char *szQuery, LibmsiQuery **pQuery) -{ - unsigned r; - - TRACE("%d %s %p\n", db, debugstr_a(szQuery), pQuery); - - if( !db ) - return LIBMSI_RESULT_INVALID_HANDLE; - - g_object_ref(db); - r = _libmsi_database_open_query( db, szQuery, pQuery ); - g_object_unref(db); - - return r; -} - unsigned _libmsi_database_open_query(LibmsiDatabase *db, const char *szQuery, LibmsiQuery **pView) { @@ -201,7 +187,8 @@ unsigned _libmsi_database_open_query(LibmsiDatabase *db, unsigned _libmsi_query_open( LibmsiDatabase *db, LibmsiQuery **view, const char *fmt, ... ) { - unsigned r; + GError *err = NULL; + unsigned r = LIBMSI_RESULT_SUCCESS; int size = 100, res; char *query; @@ -219,7 +206,10 @@ unsigned _libmsi_query_open( LibmsiDatabase *db, LibmsiQuery **view, const char msi_free( query ); } /* perform the query */ - r = _libmsi_database_open_query(db, query, view); + *view = libmsi_query_new (db, query, &err); + if (err) + r = err->code; + g_clear_error (&err); msi_free(query); return r; } @@ -290,7 +280,10 @@ LibmsiRecord *_libmsi_query_get_record( LibmsiDatabase *db, const char *fmt, ... msi_free( query ); } /* perform the query */ - r = _libmsi_database_open_query(db, query, &view); + view = libmsi_query_new (db, query, &error); + if (error) + r = error->code; + g_clear_error (&error); msi_free(query); if( r == LIBMSI_RESULT_SUCCESS ) @@ -619,6 +612,7 @@ libmsi_query_new (LibmsiDatabase *database, const char *query, GError **error) g_return_val_if_fail (LIBMSI_IS_DATABASE (database), NULL); g_return_val_if_fail (query != NULL, NULL); + g_return_val_if_fail (error == NULL || *error == NULL, NULL); self = g_object_new (LIBMSI_TYPE_QUERY, "database", database, diff --git a/libmsi/table.c b/libmsi/table.c index 713ec9b..4a7439b 100644 --- a/libmsi/table.c +++ b/libmsi/table.c @@ -1217,6 +1217,7 @@ static unsigned table_view_get_row( LibmsiView *view, unsigned row, LibmsiRecord static unsigned _libmsi_add_stream( LibmsiDatabase *db, const char *name, GsfInput *data ) { + GError *err = NULL; static const char insert[] = "INSERT INTO `_Streams`(`Name`, `Data`) VALUES (?, ?)"; LibmsiQuery *query = NULL; @@ -1236,9 +1237,10 @@ static unsigned _libmsi_add_stream( LibmsiDatabase *db, const char *name, GsfInp if ( r != LIBMSI_RESULT_SUCCESS ) goto err; - r = _libmsi_database_open_query( db, insert, &query ); - if ( r != LIBMSI_RESULT_SUCCESS ) - goto err; + query = libmsi_query_new (db, insert, &err); + if (err) + r = err->code; + g_clear_error (&err); r = _libmsi_query_execute( query, rec ); |