Mike McCormack : msi: Reimplement msi_dup_property and
msi_get_property_int .
Alexandre Julliard
julliard at wine.codeweavers.com
Fri Aug 25 05:26:55 CDT 2006
Module: wine
Branch: master
Commit: 8ebbc8c0d2ca2e64e075d48b8d3849d4a876958f
URL: http://source.winehq.org/git/?p=wine.git;a=commit;h=8ebbc8c0d2ca2e64e075d48b8d3849d4a876958f
Author: Mike McCormack <mike at codeweavers.com>
Date: Fri Aug 25 17:58:50 2006 +0900
msi: Reimplement msi_dup_property and msi_get_property_int.
---
dlls/msi/helpers.c | 29 -----------------------------
dlls/msi/package.c | 24 +++++++++++++++++++++++-
2 files changed, 23 insertions(+), 30 deletions(-)
diff --git a/dlls/msi/helpers.c b/dlls/msi/helpers.c
index 33a7fa2..45d3ebe 100644
--- a/dlls/msi/helpers.c
+++ b/dlls/msi/helpers.c
@@ -71,35 +71,6 @@ LPWSTR msi_dup_record_field( MSIRECORD *
return strdupW( MSI_RecordGetString(row,index) );
}
-LPWSTR msi_dup_property(MSIPACKAGE *package, LPCWSTR prop)
-{
- DWORD sz = 0;
- LPWSTR str;
- UINT r;
-
- r = MSI_GetPropertyW(package, prop, NULL, &sz);
- if (r != ERROR_SUCCESS && r != ERROR_MORE_DATA)
- return NULL;
-
- sz++;
- str = msi_alloc(sz*sizeof(WCHAR));
- r = MSI_GetPropertyW(package, prop, str, &sz);
- if (r != ERROR_SUCCESS)
- {
- msi_free(str);
- str = NULL;
- }
- return str;
-}
-
-int msi_get_property_int( MSIPACKAGE *package, LPCWSTR prop, int def )
-{
- LPWSTR str = msi_dup_property( package, prop );
- int val = str ? atoiW( str ) : def;
- msi_free( str );
- return val;
-}
-
MSICOMPONENT* get_loaded_component( MSIPACKAGE* package, LPCWSTR Component )
{
MSICOMPONENT *comp;
diff --git a/dlls/msi/package.c b/dlls/msi/package.c
index 13fd6ce..227be6c 100644
--- a/dlls/msi/package.c
+++ b/dlls/msi/package.c
@@ -1001,7 +1001,7 @@ UINT MSI_GetPropertyW( MSIPACKAGE *packa
if ( *pchValueBuf <= len )
{
- TRACE("have %lu, need %lu -> ERROR_MORE_DATA\n", *pchValueBuf, len);
+ TRACE("have %lu, need %u -> ERROR_MORE_DATA\n", *pchValueBuf, len);
r = ERROR_MORE_DATA;
}
else
@@ -1012,6 +1012,28 @@ UINT MSI_GetPropertyW( MSIPACKAGE *packa
return r;
}
+LPWSTR msi_dup_property( MSIPACKAGE *package, LPCWSTR szName )
+{
+ msi_property *prop;
+ LPWSTR value = NULL;
+
+ prop = msi_prop_find( package, szName );
+ if (prop)
+ value = strdupW( prop->value );
+
+ return value;
+}
+
+int msi_get_property_int( MSIPACKAGE *package, LPCWSTR name, int value )
+{
+ msi_property *prop;
+
+ prop = msi_prop_find( package, name );
+ if (prop)
+ value = atoiW( prop->value );
+ return value;
+}
+
static UINT MSI_GetProperty( MSIHANDLE handle, LPCWSTR name,
awstring *szValueBuf, DWORD* pchValueBuf )
{
More information about the wine-cvs
mailing list