From 2a52e33f655cb78d728133e08484cb39398fd5e5 Mon Sep 17 00:00:00 2001 From: Andreas Bierfert Date: Thu, 7 Apr 2011 11:03:12 +0200 Subject: [PATCH] 1.3.17-3 add fix for office installation (upstream #26650) --- ...operty_followed_by_non-empty_property.diff | 52 +++++++++++++++++++ wine.spec | 9 +++- 2 files changed, 60 insertions(+), 1 deletion(-) create mode 100644 msi_fix_empty_property_followed_by_non-empty_property.diff diff --git a/msi_fix_empty_property_followed_by_non-empty_property.diff b/msi_fix_empty_property_followed_by_non-empty_property.diff new file mode 100644 index 0000000..a4760c4 --- /dev/null +++ b/msi_fix_empty_property_followed_by_non-empty_property.diff @@ -0,0 +1,52 @@ +commit c23d222e78727bbcb9ed2926c328aceb0d8a89e1 +Author: Hans Leidekker +Date: Fri Apr 1 17:01:55 2011 +0200 + + msi: Fix parsing of empty an property followed by a non-empty property. + +diff --git a/dlls/msi/action.c b/dlls/msi/action.c +index 79d12d6..366d897 100644 +--- a/dlls/msi/action.c ++++ b/dlls/msi/action.c +@@ -231,6 +231,7 @@ static int parse_prop( const WCHAR *str, WCHAR *value, int *quotes ) + if (!count) goto done; + in_quotes = 1; + ignore = 1; ++ len++; + break; + case '"': + state = state_quote; +@@ -258,6 +259,7 @@ static int parse_prop( const WCHAR *str, WCHAR *value, int *quotes ) + state = state_whitespace; + if (!count) goto done; + in_quotes = 1; ++ len++; + break; + default: + if (!count) in_quotes = 0; +@@ -276,8 +278,9 @@ static int parse_prop( const WCHAR *str, WCHAR *value, int *quotes ) + break; + case ' ': + state = state_whitespace; +- if (!count) goto done; ++ if (!count || (count > 1 && !len)) goto done; + in_quotes = 1; ++ len++; + break; + default: + state = state_token; +diff --git a/dlls/msi/tests/install.c b/dlls/msi/tests/install.c +index 1f5ab9c..d54f923 100644 +--- a/dlls/msi/tests/install.c ++++ b/dlls/msi/tests/install.c +@@ -6346,6 +6346,10 @@ static void test_command_line_parsing(void) + r = MsiInstallProductA(msifile, cmd); + ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %u\n", r); + ++ cmd = "Q=\"\" P=\"one\""; ++ r = MsiInstallProductA(msifile, cmd); ++ ok(r == ERROR_INSTALL_FAILURE, "Expected ERROR_INSTALL_FAILURE, got %u\n", r); ++ + DeleteFile(msifile); + RemoveDirectory("msitest"); + } diff --git a/wine.spec b/wine.spec index ab7357a..99819d1 100644 --- a/wine.spec +++ b/wine.spec @@ -1,7 +1,7 @@ %global no64bit 0 Name: wine Version: 1.3.17 -Release: 2%{?dist} +Release: 3%{?dist} Summary: A Windows 16/32/64 bit emulator Group: Applications/Emulators @@ -49,6 +49,8 @@ Source501: wine-tahoma.conf # and provide a readme Source502: wine-README-tahoma +Patch1000: msi_fix_empty_property_followed_by_non-empty_property.diff + Buildroot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) %if !%{?no64bit} @@ -455,6 +457,7 @@ This package adds an openal driver for wine. %patch400 -p1 -b .winepulse %patch401 -p1 -b .winepulse %patch402 -p1 -b .winepulse +%patch1000 -p1 -b .officemsi autoreconf @@ -1414,6 +1417,10 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : %endif %changelog +* Thu Apr 07 2011 Andreas Bierfert +- 1.3.17-3 +- add fix for office installation (upstream #26650) + * Tue Apr 05 2011 Andreas Bierfert - 1.3.17-2 - cleanup spec file