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