Nathan Gallaher : msi: Support _Streams, _Storages tablename prefixes in SELECT.

Alexandre Julliard julliard at winehq.org
Tue Nov 24 12:40:24 CST 2009


Module: wine
Branch: master
Commit: abb23d8bd5004dd031e0ab978208845ac2fe363d
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=abb23d8bd5004dd031e0ab978208845ac2fe363d

Author: Nathan Gallaher <ngallaher at deepthought.org>
Date:   Thu Nov 12 22:59:03 2009 -0500

msi: Support _Streams, _Storages tablename prefixes in SELECT.

---

 dlls/msi/storages.c |   11 +++++++++++
 dlls/msi/streams.c  |   11 +++++++++++
 2 files changed, 22 insertions(+), 0 deletions(-)

diff --git a/dlls/msi/storages.c b/dlls/msi/storages.c
index 005bcdb..844db8d 100644
--- a/dlls/msi/storages.c
+++ b/dlls/msi/storages.c
@@ -296,6 +296,7 @@ static UINT STORAGES_get_column_info(struct tagMSIVIEW *view, UINT n,
 
     static const WCHAR Name[] = {'N','a','m','e',0};
     static const WCHAR Data[] = {'D','a','t','a',0};
+    static const WCHAR _Storages[] = {'_','S','t','o','r','a','g','e','s',0};
 
     TRACE("(%p, %d, %p, %p, %p, %p)\n", view, n, name, type, temporary,
           table_name);
@@ -322,6 +323,16 @@ static UINT STORAGES_get_column_info(struct tagMSIVIEW *view, UINT n,
         if (!*name) return ERROR_FUNCTION_FAILED;
     }
 
+    if (table_name)
+    {
+        *table_name = strdupW(_Storages);
+        if (!*table_name)
+        {
+            msi_free(name);
+            return ERROR_FUNCTION_FAILED;
+        }
+    }
+
     if (temporary)
         *temporary = FALSE;
 
diff --git a/dlls/msi/streams.c b/dlls/msi/streams.c
index 23ae971..faa27c8 100644
--- a/dlls/msi/streams.c
+++ b/dlls/msi/streams.c
@@ -262,6 +262,7 @@ static UINT STREAMS_get_column_info(struct tagMSIVIEW *view, UINT n,
 
     static const WCHAR Name[] = {'N','a','m','e',0};
     static const WCHAR Data[] = {'D','a','t','a',0};
+    static const WCHAR _Streams[] = {'_','S','t','r','e','a','m','s',0};
 
     TRACE("(%p, %d, %p, %p, %p, %p)\n", view, n, name, type, temporary,
           table_name);
@@ -288,6 +289,16 @@ static UINT STREAMS_get_column_info(struct tagMSIVIEW *view, UINT n,
         if (!*name) return ERROR_FUNCTION_FAILED;
     }
 
+    if (table_name)
+    {
+        *table_name = strdupW(_Streams);
+        if (!*table_name)
+        {
+            msi_free(name);
+            return ERROR_FUNCTION_FAILED;
+        }
+    }
+
     if (temporary)
         *temporary = FALSE;
 




More information about the wine-cvs mailing list