[2/5] msi: Make the string reference count a short.

Hans Leidekker hans at codeweavers.com
Tue Apr 13 04:15:08 CDT 2010


This is safe because the reference count is stored in 2 bytes on disk.
---
 dlls/msi/msipriv.h |    2 +-
 dlls/msi/string.c  |   10 +++++-----
 2 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/dlls/msi/msipriv.h b/dlls/msi/msipriv.h
index 5e699ae..2b7d6ba 100644
--- a/dlls/msi/msipriv.h
+++ b/dlls/msi/msipriv.h
@@ -660,7 +660,7 @@ enum StringPersistence
     StringNonPersistent = 1
 };
 
-extern BOOL msi_addstringW( string_table *st, UINT string_no, const WCHAR *data, int len, UINT refcount, enum StringPersistence persistence );
+extern BOOL msi_addstringW( string_table *st, UINT string_no, const WCHAR *data, int len, USHORT refcount, enum StringPersistence persistence );
 
 extern UINT msi_string2idW( const string_table *st, LPCWSTR buffer, UINT *id );
 extern VOID msi_destroy_stringtable( string_table *st );
diff --git a/dlls/msi/string.c b/dlls/msi/string.c
index 3bdc436..84f4e71 100644
--- a/dlls/msi/string.c
+++ b/dlls/msi/string.c
@@ -44,8 +44,8 @@ WINE_DEFAULT_DEBUG_CHANNEL(msidb);
 
 typedef struct _msistring
 {
-    UINT persistent_refcount;
-    UINT nonpersistent_refcount;
+    USHORT persistent_refcount;
+    USHORT nonpersistent_refcount;
     LPWSTR str;
 } msistring;
 
@@ -188,7 +188,7 @@ static void insert_string_sorted( string_table *st, UINT string_id )
     st->sortcount++;
 }
 
-static void set_st_entry( string_table *st, UINT n, LPWSTR str, UINT refcount, enum StringPersistence persistence )
+static void set_st_entry( string_table *st, UINT n, LPWSTR str, USHORT refcount, enum StringPersistence persistence )
 {
     if (persistence == StringPersistent)
     {
@@ -237,7 +237,7 @@ static UINT msi_string2idA( const string_table *st, LPCSTR buffer, UINT *id )
     return r;
 }
 
-static int msi_addstring( string_table *st, UINT n, const CHAR *data, int len, UINT refcount, enum StringPersistence persistence )
+static int msi_addstring( string_table *st, UINT n, const CHAR *data, int len, USHORT refcount, enum StringPersistence persistence )
 {
     LPWSTR str;
     int sz;
@@ -288,7 +288,7 @@ static int msi_addstring( string_table *st, UINT n, const CHAR *data, int len, U
     return n;
 }
 
-int msi_addstringW( string_table *st, UINT n, const WCHAR *data, int len, UINT refcount, enum StringPersistence persistence )
+int msi_addstringW( string_table *st, UINT n, const WCHAR *data, int len, USHORT refcount, enum StringPersistence persistence )
 {
     LPWSTR str;
 
-- 
1.7.0.4







More information about the wine-patches mailing list