summaryrefslogtreecommitdiffstats
path: root/libmsi/table.c
diff options
context:
space:
mode:
authorMarc-André Lureau <marcandre.lureau@gmail.com>2012-12-18 17:27:05 +0100
committerPaolo Bonzini <pbonzini@redhat.com>2013-01-09 13:56:07 +0100
commitef6554cff2a3b50df2ded82507be0d79efda1a0c (patch)
treea16762d60fd43da8aa38ff302d93a3dc8a9fe9f6 /libmsi/table.c
parent0a97c9f43718d34aacc834c60f3ced60e9ce956f (diff)
downloadmsitools-ef6554cff2a3b50df2ded82507be0d79efda1a0c.tar.gz
msitools-ef6554cff2a3b50df2ded82507be0d79efda1a0c.tar.xz
msitools-ef6554cff2a3b50df2ded82507be0d79efda1a0c.zip
database: extract streams during table export
See also MSDN documentation about the import/export of tables with streams: http://msdn.microsoft.com/en-us/library/windows/desktop/aa370079%28v=vs.85%29.aspx
Diffstat (limited to 'libmsi/table.c')
-rw-r--r--libmsi/table.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/libmsi/table.c b/libmsi/table.c
index 4a7439b..16057e3 100644
--- a/libmsi/table.c
+++ b/libmsi/table.c
@@ -1163,7 +1163,10 @@ static unsigned table_view_fetch_stream( LibmsiView *view, unsigned row, unsigne
if( r )
ERR("fetching stream %s, error = %d\n",debugstr_a(full_name), r);
- msi_free( full_name );
+ if (*stm)
+ g_object_set_data_full (G_OBJECT (*stm), "stname", full_name, g_free);
+ else
+ msi_free( full_name );
msi_free( encname );
return r;
}