diff options
author | Paolo Bonzini <pbonzini@redhat.com> | 2012-12-04 13:39:08 +0100 |
---|---|---|
committer | Paolo Bonzini <pbonzini@redhat.com> | 2012-12-06 20:30:33 +0100 |
commit | b2015137b1af9aba2ffde189d3d9663e372a9c93 (patch) | |
tree | f3496df3e86cbf0067f6ae2069b3313553924660 /libmsi/database.c | |
parent | 9cf89fe383cfc8c86a4b9d60a67aa85e1ba20402 (diff) | |
download | msitools-b2015137b1af9aba2ffde189d3d9663e372a9c93.tar.gz msitools-b2015137b1af9aba2ffde189d3d9663e372a9c93.tar.xz msitools-b2015137b1af9aba2ffde189d3d9663e372a9c93.zip |
delay writing storages to the outfile
Diffstat (limited to 'libmsi/database.c')
-rw-r--r-- | libmsi/database.c | 20 |
1 files changed, 0 insertions, 20 deletions
diff --git a/libmsi/database.c b/libmsi/database.c index 1ea1eda..b3f1887 100644 --- a/libmsi/database.c +++ b/libmsi/database.c @@ -169,7 +169,6 @@ unsigned msi_create_storage( LibmsiDatabase *db, const WCHAR *stname, IStream *s { LibmsiStorage *storage; IStorage *origstg = NULL; - IStorage *substg = NULL; bool found = false; HRESULT hr; unsigned r; @@ -201,22 +200,6 @@ unsigned msi_create_storage( LibmsiDatabase *db, const WCHAR *stname, IStream *s if (r != LIBMSI_RESULT_SUCCESS) goto done; - hr = IStorage_CreateStorage(db->outfile, stname, - STGM_WRITE | STGM_SHARE_EXCLUSIVE, - 0, 0, &substg); - if (FAILED(hr)) - { - r = LIBMSI_RESULT_FUNCTION_FAILED; - goto done; - } - - hr = IStorage_CopyTo(origstg, 0, NULL, NULL, substg); - if (FAILED(hr)) - { - r = LIBMSI_RESULT_FUNCTION_FAILED; - goto done; - } - if (found) { if (storage->stg) IStorage_Release(storage->stg); @@ -237,8 +220,6 @@ done: } } - if (substg) - IStorage_Release(substg); if (origstg) IStorage_Release(origstg); @@ -257,7 +238,6 @@ void msi_destroy_storage( LibmsiDatabase *db, const WCHAR *stname ) list_remove( &storage->entry ); IStorage_Release( storage->stg ); - IStorage_DestroyElement( storage->stg, stname ); msi_free( storage ); break; } |