diff options
author | Marc-André Lureau <marcandre.lureau@gmail.com> | 2012-12-17 12:44:39 +0100 |
---|---|---|
committer | Paolo Bonzini <pbonzini@redhat.com> | 2013-01-09 13:56:07 +0100 |
commit | 9b1b206a8881205b285db07733487283b6a8a806 (patch) | |
tree | a0f2b01fc53672c2aa8fb0f7f2d595385a47db1b /libmsi | |
parent | 377666075f7eb5ee07e0c76ed18ce417f7491150 (diff) | |
download | msitools-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.c | 16 |
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 ) |