summaryrefslogtreecommitdiffstats
path: root/libmsi
diff options
context:
space:
mode:
authorMarc-André Lureau <marcandre.lureau@gmail.com>2012-12-17 11:59:23 +0100
committerPaolo Bonzini <pbonzini@redhat.com>2013-01-09 13:56:06 +0100
commit51796fda08d36dfc38848c429d8cabd48e3484a9 (patch)
treebf53054d65f1d9720e2008d89b224bf951586c01 /libmsi
parent4509fd0a9f3b17e0c099efa6c235c4e80bf6a97d (diff)
downloadmsitools-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.c20
-rw-r--r--libmsi/libmsi-query.c34
-rw-r--r--libmsi/table.c8
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 );