msi 3: Use the TargetPath of a file if the file doesn't exist in MsiFormatRecord

James Hawkins truiken at gmail.com
Tue Sep 5 22:28:15 CDT 2006


Hi,

Changelog:
* Use the TargetPath of a file if the file doesn't exist in MsiFormatRecord.

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

-- 
James Hawkins
-------------- next part --------------
diff --git a/dlls/msi/format.c b/dlls/msi/format.c
index 6dc92f9..2909089 100644
--- a/dlls/msi/format.c
+++ b/dlls/msi/format.c
@@ -165,8 +165,8 @@ static LPWSTR deformat_file(MSIPACKAGE* 
             {
                 ERR("Unable to get ShortPath size (%s)\n",
                     debugstr_w( file->TargetPath) );
-                value = NULL;
-                *sz = 0;
+                value = strdupW( file->TargetPath );
+                *sz = (lstrlenW(value)) * sizeof(WCHAR);
             }
         }
     }
diff --git a/dlls/msi/tests/format.c b/dlls/msi/tests/format.c
index 6bd75f4..208bc2d 100644
--- a/dlls/msi/tests/format.c
+++ b/dlls/msi/tests/format.c
@@ -1804,11 +1804,8 @@ static void test_formatrecord_tables(voi
     MsiRecordSetString( hrec, 1, "[!temporal_file]" );
     r = MsiFormatRecord( hpkg, hrec, buf, &size );
     ok( r == ERROR_SUCCESS, "format record failed: %d\n", r);
-    todo_wine
-    {
-        ok( !lstrcmp( buf, "1: C:\\I am a really long directory\\temporal.txt " ),
-            "Expected '1: C:\\I am a really long directory\\temporal.txt ', got %s\n", buf);
-    }
+    ok( !lstrcmp( buf, "1: C:\\I am a really long directory\\temporal.txt " ),
+        "Expected '1: C:\\I am a really long directory\\temporal.txt ', got %s\n", buf);
 
     /* custom action 51, files don't exist */
     r = MsiDoAction( hpkg, "MyCustom" );
@@ -1817,11 +1814,8 @@ static void test_formatrecord_tables(voi
     size = MAX_PATH;
     r = MsiGetProperty( hpkg, "prop", buf, &size );
     ok( r == ERROR_SUCCESS, "get property failed: %d\n", r);
-    todo_wine
-    {
-        ok( !lstrcmp( buf, "C:\\I am a really long directory\\temporal.txt" ),
-            "Expected 'C:\\I am a really long directory\\temporal.txt', got %s\n", buf);
-    }
+    ok( !lstrcmp( buf, "C:\\I am a really long directory\\temporal.txt" ),
+        "Expected 'C:\\I am a really long directory\\temporal.txt', got %s\n", buf);
 
     CreateDirectory( "C:\\I am a really long directory", NULL );
     create_test_file( "C:\\I am a really long directory\\temporal.txt" );
-- 
1.4.2


More information about the wine-patches mailing list