From d784cc209480e41e11e5ee0f2d6aeeee4bae558c Mon Sep 17 00:00:00 2001 From: Paolo Bonzini Date: Tue, 4 Dec 2012 17:42:41 +0100 Subject: use arrays of chars for GUIDs --- libmsi/Makefile.am | 2 - libmsi/database.c | 16 +++---- libmsi/msipriv.h | 4 ++ libmsi/msiquery.c | 5 +- libmsi/msiserver.h | 126 --------------------------------------------------- libmsi/msiserver_i.c | 4 -- libmsi/suminfo.c | 1 - 7 files changed, 13 insertions(+), 145 deletions(-) delete mode 100644 libmsi/msiserver.h delete mode 100644 libmsi/msiserver_i.c diff --git a/libmsi/Makefile.am b/libmsi/Makefile.am index 32562d7..ab25759 100644 --- a/libmsi/Makefile.am +++ b/libmsi/Makefile.am @@ -10,7 +10,6 @@ BUILT_SOURCES = sql-parser.c sql-parser.h noinst_HEADERS = \ list.h \ msipriv.h \ - msiserver.h \ query.h \ unicode.h @@ -18,7 +17,6 @@ libmsi_la_SOURCES = alter.c create.c database.c delete.c distinct.c \ drop.c handle.c insert.c msiquery.c record.c select.c storages.c \ streams.c string.c suminfo.c table.c tokenize.c update.c where.c \ sql-parser.y \ - msiserver_i.c \ utf16/snprintfW.c utf16/sprintfW.c utf16/strtolW.c libmsi_la_LDFLAGS = -no-undefined -rpath $(libdir) \ diff --git a/libmsi/database.c b/libmsi/database.c index bacdcbe..249fc5e 100644 --- a/libmsi/database.c +++ b/libmsi/database.c @@ -36,11 +36,11 @@ #include "msipriv.h" #include "objidl.h" #include "objbase.h" -#include "msiserver.h" #include "query.h" -#include "initguid.h" - +const char clsid_msi_transform[16] = { 0x82, 0x10, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46 }; +const char clsid_msi_database[16] = { 0x84, 0x10, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46 }; +const char clsid_msi_patch[16] = { 0x86, 0x10, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46 }; /* * .MSI file format @@ -659,16 +659,16 @@ LibmsiResult _libmsi_database_open(LibmsiDatabase *db) goto end; } - if ( !IsEqualGUID( &stat.clsid, &CLSID_MsiDatabase ) && - !IsEqualGUID( &stat.clsid, &CLSID_MsiPatch ) && - !IsEqualGUID( &stat.clsid, &CLSID_MsiTransform ) ) + if ( memcmp( &stat.clsid, &clsid_msi_database, 16 ) != 0 && + memcmp( &stat.clsid, &clsid_msi_patch, 16 ) != 0 && + memcmp( &stat.clsid, &clsid_msi_transform, 16 ) != 0 ) { ERR("storage GUID is not a MSI database GUID %s\n", debugstr_guid(&stat.clsid) ); goto end; } - if ( db->patch && !IsEqualGUID( &stat.clsid, &CLSID_MsiPatch ) ) + if ( db->patch && memcmp( &stat.clsid, &clsid_msi_patch, 16 ) != 0 ) { ERR("storage GUID is not the MSI patch GUID %s\n", debugstr_guid(&stat.clsid) ); @@ -729,7 +729,7 @@ LibmsiResult _libmsi_database_start_transaction(LibmsiDatabase *db, const char * msi_free(szwPersist); if ( SUCCEEDED(hr) ) - hr = IStorage_SetClass( stg, db->patch ? &CLSID_MsiPatch : &CLSID_MsiDatabase ); + hr = IStorage_SetClass( stg, db->patch ? &clsid_msi_patch : &clsid_msi_database ); if( FAILED( hr ) ) { diff --git a/libmsi/msipriv.h b/libmsi/msipriv.h index 7110a56..1b1735c 100644 --- a/libmsi/msipriv.h +++ b/libmsi/msipriv.h @@ -290,6 +290,10 @@ typedef struct LibmsiSummaryInfo LibmsiOLEVariant property[MSI_MAX_PROPS]; } LibmsiSummaryInfo; +extern const char clsid_msi_transform[16]; +extern const char clsid_msi_database[16]; +extern const char clsid_msi_patch[16]; + /* handle unicode/ascii output in the Msi* API functions */ typedef struct { bool unicode; diff --git a/libmsi/msiquery.c b/libmsi/msiquery.c index 60b6cd4..eb215c3 100644 --- a/libmsi/msiquery.c +++ b/libmsi/msiquery.c @@ -34,9 +34,6 @@ #include "winnls.h" #include "query.h" -#include "msiserver.h" - -#include "initguid.h" static void _libmsi_query_destroy( LibmsiObject *arg ) @@ -572,7 +569,7 @@ unsigned _libmsi_database_apply_transform( LibmsiDatabase *db, if ( FAILED( r ) ) goto end; - if ( !IsEqualGUID( &stat.clsid, &CLSID_MsiTransform ) ) + if ( memcmp( &stat.clsid, &clsid_msi_transform, 16 ) != 0 ) goto end; if( TRACE_ON( msi ) ) diff --git a/libmsi/msiserver.h b/libmsi/msiserver.h deleted file mode 100644 index 48bd2a0..0000000 --- a/libmsi/msiserver.h +++ /dev/null @@ -1,126 +0,0 @@ -/*** Autogenerated by WIDL 1.5.14 from ../../libmsi/msiserver.idl - Do not edit ***/ - -#ifndef __REQUIRED_RPCNDR_H_VERSION__ -#define __REQUIRED_RPCNDR_H_VERSION__ 475 -#endif - -#include -#include - -#ifndef COM_NO_WINDOWS_H -#include -#include -#endif - -#ifndef __msiserver_h__ -#define __msiserver_h__ - -/* Headers for imported files */ - -#include -#include -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/***************************************************************************** - * MsiServer coclass - */ - -DEFINE_GUID(CLSID_MsiServer, 0x000c101c, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); - -#ifdef __cplusplus -class DECLSPEC_UUID("000c101c-0000-0000-c000-000000000046") MsiServer; -#ifdef __CRT_UUID_DECL -__CRT_UUID_DECL(MsiServer, 0x000c101c, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) -#endif -#endif - -/***************************************************************************** - * MsiServerMessage coclass - */ - -DEFINE_GUID(CLSID_MsiServerMessage, 0x000c101d, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); - -#ifdef __cplusplus -class DECLSPEC_UUID("000c101d-0000-0000-c000-000000000046") MsiServerMessage; -#ifdef __CRT_UUID_DECL -__CRT_UUID_DECL(MsiServerMessage, 0x000c101d, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) -#endif -#endif - -/***************************************************************************** - * PSFactoryBuffer coclass - */ - -DEFINE_GUID(CLSID_PSFactoryBuffer, 0x000c103e, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); - -#ifdef __cplusplus -class DECLSPEC_UUID("000c103e-0000-0000-c000-000000000046") PSFactoryBuffer; -#ifdef __CRT_UUID_DECL -__CRT_UUID_DECL(PSFactoryBuffer, 0x000c103e, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) -#endif -#endif - -/***************************************************************************** - * MsiTransform coclass - */ - -DEFINE_GUID(CLSID_MsiTransform, 0x000c1082, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); - -#ifdef __cplusplus -class DECLSPEC_UUID("000c1082-0000-0000-c000-000000000046") MsiTransform; -#ifdef __CRT_UUID_DECL -__CRT_UUID_DECL(MsiTransform, 0x000c1082, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) -#endif -#endif - -/***************************************************************************** - * MsiDatabase coclass - */ - -DEFINE_GUID(CLSID_MsiDatabase, 0x000c1084, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); - -#ifdef __cplusplus -class DECLSPEC_UUID("000c1084-0000-0000-c000-000000000046") MsiDatabase; -#ifdef __CRT_UUID_DECL -__CRT_UUID_DECL(MsiDatabase, 0x000c1084, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) -#endif -#endif - -/***************************************************************************** - * MsiPatch coclass - */ - -DEFINE_GUID(CLSID_MsiPatch, 0x000c1086, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); - -#ifdef __cplusplus -class DECLSPEC_UUID("000c1086-0000-0000-c000-000000000046") MsiPatch; -#ifdef __CRT_UUID_DECL -__CRT_UUID_DECL(MsiPatch, 0x000c1086, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) -#endif -#endif - -DEFINE_GUID(DIID_Session, 0x000c109e, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); - -/***************************************************************************** - * MsiInstaller coclass - */ - -DEFINE_GUID(CLSID_MsiInstaller, 0x000c1090, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); - -#ifdef __cplusplus -class DECLSPEC_UUID("000c1090-0000-0000-c000-000000000046") MsiInstaller; -#ifdef __CRT_UUID_DECL -__CRT_UUID_DECL(MsiInstaller, 0x000c1090, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) -#endif -#endif - -#ifdef __cplusplus -} -#endif - -#endif /* __msiserver_h__ */ diff --git a/libmsi/msiserver_i.c b/libmsi/msiserver_i.c deleted file mode 100644 index 7128c5f..0000000 --- a/libmsi/msiserver_i.c +++ /dev/null @@ -1,4 +0,0 @@ -#include -#include -#include -#include "msiserver.h" diff --git a/libmsi/suminfo.c b/libmsi/suminfo.c index 00da12e..338323b 100644 --- a/libmsi/suminfo.c +++ b/libmsi/suminfo.c @@ -29,7 +29,6 @@ #include "unicode.h" #include "libmsi.h" #include "msipriv.h" -#include "msiserver.h" static const uint8_t fmtid_SummaryInformation[16] = { 0xe0, 0x85, 0x9f, 0xf2, 0xf9, 0x4f, 0x68, 0x10, 0xab, 0x91, 0x08, 0x00, 0x2b, 0x27, 0xb3, 0xd9}; -- cgit