James Hawkins : msi: Add the ability to deformat the component's source.

Alexandre Julliard julliard at wine.codeweavers.com
Fri May 25 14:43:29 CDT 2007


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

Author: James Hawkins <truiken at gmail.com>
Date:   Thu May 24 11:11:20 2007 -0700

msi: Add the ability to deformat the component's source.

---

 dlls/msi/format.c       |    5 +++--
 dlls/msi/tests/format.c |    5 +----
 2 files changed, 4 insertions(+), 6 deletions(-)

diff --git a/dlls/msi/format.c b/dlls/msi/format.c
index fa85e60..1bcfa6e 100644
--- a/dlls/msi/format.c
+++ b/dlls/msi/format.c
@@ -113,16 +113,17 @@ static LPWSTR deformat_component(MSIPACKAGE* package, LPCWSTR key, DWORD* sz)
 {
     LPWSTR value = NULL;
     MSICOMPONENT *comp;
+    BOOL source;
 
     *sz = 0;
     if (!package)
         return NULL;
 
-    FIXME("component key %s\n", debugstr_w(key));
     comp = get_loaded_component(package,key);
     if (comp)
     {
-        value = resolve_folder(package, comp->Directory, FALSE, FALSE, TRUE, NULL);
+        source = (comp->Action == INSTALLSTATE_SOURCE) ? TRUE : FALSE;
+        value = resolve_folder(package, comp->Directory, source, FALSE, TRUE, NULL);
         *sz = (strlenW(value)) * sizeof(WCHAR);
     }
 
diff --git a/dlls/msi/tests/format.c b/dlls/msi/tests/format.c
index 16661e3..23438bb 100644
--- a/dlls/msi/tests/format.c
+++ b/dlls/msi/tests/format.c
@@ -2236,10 +2236,7 @@ static void test_formatrecord_tables(void)
     MsiRecordSetString( hrec, 1, "[$parietal]" );
     r = MsiFormatRecord( hpkg, hrec, buf, &size );
     ok( r == ERROR_SUCCESS, "format record failed: %d\n", r);
-    todo_wine
-    {
-        ok( !lstrcmp( buf, expected ), "Expected '%s', got %s\n", expected, buf);
-    }
+    ok( !lstrcmp( buf, expected ), "Expected '%s', got %s\n", expected, buf);
 
     DeleteFile( "C:\\I am a really long directory\\temporal.txt" );
     RemoveDirectory( "C:\\I am a really long directory" );




More information about the wine-cvs mailing list