summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaolo Bonzini <pbonzini@redhat.com>2012-12-04 17:42:41 +0100
committerPaolo Bonzini <pbonzini@redhat.com>2012-12-06 20:30:33 +0100
commitd784cc209480e41e11e5ee0f2d6aeeee4bae558c (patch)
treef82785c7f0a5781fc013c4e7936d4ecd7d9d52c6
parent6bba7d7717a6dde4444280615b71a7c1d8bd2cae (diff)
downloadmsitools-d784cc209480e41e11e5ee0f2d6aeeee4bae558c.tar.gz
msitools-d784cc209480e41e11e5ee0f2d6aeeee4bae558c.tar.xz
msitools-d784cc209480e41e11e5ee0f2d6aeeee4bae558c.zip
use arrays of chars for GUIDs
-rw-r--r--libmsi/Makefile.am2
-rw-r--r--libmsi/database.c16
-rw-r--r--libmsi/msipriv.h4
-rw-r--r--libmsi/msiquery.c5
-rw-r--r--libmsi/msiserver.h126
-rw-r--r--libmsi/msiserver_i.c4
-rw-r--r--libmsi/suminfo.c1
7 files changed, 13 insertions, 145 deletions
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 <rpc.h>
-#include <rpcndr.h>
-
-#ifndef COM_NO_WINDOWS_H
-#include <windows.h>
-#include <ole2.h>
-#endif
-
-#ifndef __msiserver_h__
-#define __msiserver_h__
-
-/* Headers for imported files */
-
-#include <unknwn.h>
-#include <wtypes.h>
-#include <objidl.h>
-#include <oaidl.h>
-
-#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 <rpc.h>
-#include <rpcndr.h>
-#include <initguid.h>
-#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};