summaryrefslogtreecommitdiffstats
path: root/libmsi
diff options
context:
space:
mode:
authorMarc-André Lureau <marcandre.lureau@gmail.com>2012-12-17 12:44:39 +0100
committerPaolo Bonzini <pbonzini@redhat.com>2013-01-09 13:56:07 +0100
commit9b1b206a8881205b285db07733487283b6a8a806 (patch)
treea0f2b01fc53672c2aa8fb0f7f2d595385a47db1b /libmsi
parent377666075f7eb5ee07e0c76ed18ce417f7491150 (diff)
downloadmsitools-9b1b206a8881205b285db07733487283b6a8a806.tar.gz
msitools-9b1b206a8881205b285db07733487283b6a8a806.tar.xz
msitools-9b1b206a8881205b285db07733487283b6a8a806.zip
database: make import() GObject-like
Diffstat (limited to 'libmsi')
-rw-r--r--libmsi/libmsi-database.c16
1 files changed, 12 insertions, 4 deletions
diff --git a/libmsi/libmsi-database.c b/libmsi/libmsi-database.c
index 33e0702..70d39b9 100644
--- a/libmsi/libmsi-database.c
+++ b/libmsi/libmsi-database.c
@@ -1200,19 +1200,27 @@ done:
return r;
}
-LibmsiResult libmsi_database_import(LibmsiDatabase *db, const char *szFolder, const char *szFilename)
+gboolean
+libmsi_database_import (LibmsiDatabase *db,
+ const char *folder,
+ const char *filename,
+ GError **error)
{
unsigned r;
- TRACE("%x %s %s\n",db,debugstr_a(szFolder), debugstr_a(szFilename));
+ TRACE("%x %s %s\n",db,debugstr_a(folder), debugstr_a(filename));
if( !db )
return LIBMSI_RESULT_INVALID_HANDLE;
g_object_ref(db);
- r = _libmsi_database_import( db, szFolder, szFilename );
+ r = _libmsi_database_import(db, folder, filename);
g_object_unref(db);
- return r;
+
+ if (r != LIBMSI_RESULT_SUCCESS)
+ g_set_error (error, LIBMSI_RESULT_ERROR, r, G_STRFUNC);
+
+ return r == LIBMSI_RESULT_SUCCESS;
}
static unsigned msi_export_record( int fd, LibmsiRecord *row, unsigned start )