Commit Graph

61 Commits

Author SHA1 Message Date
Alexandre Julliard d977c55bb4 msi: Use %define api.pure instead of %pure-parser.
The latter is deprecated and causes warnings.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-25 20:47:43 +01:00
Alexandre Julliard 7cd3c9f073 msi: Build with msvcrt.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-13 14:34:51 +02:00
Zebediah Figura baea371c3d msi: Add exception handling around all custom action RPC calls.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-10 12:30:01 +02:00
Piotr Caban 7837ae20cd msi: Fix condition evaluation when comparing literal and integer.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45445
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-16 09:14:19 +02:00
Zebediah Figura 0fc1b6f2f3 msi: Make MsiEvaluateCondition() RPC-compatible.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-25 10:53:15 +02:00
Zebediah Figura 8bfb4e8b62 msi: Convert the IWineMsiRemote* remote interfaces to RPC stubs.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-16 11:48:17 +02:00
Piotr Caban 9ce8592b06 msi: Add error handling when retriving component/feature state/action in condition.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-10-25 09:48:26 +02:00
Piotr Caban dcd92a168b msi: Store condition intermediate values in union.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-10-25 09:48:24 +02:00
Piotr Caban c8d32b69ec msi: Define special types for condition operators, identifiers and expressions.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-10-25 09:48:22 +02:00
Piotr Caban 024c6c1b4b msi: Move condition integer handling into value_i.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-10-25 09:48:20 +02:00
Piotr Caban b141a145c4 msi: Improve feature action value evaluation in conditions.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-10-23 10:49:05 +02:00
Alexandre Julliard 3f98185fb8 msi: Use bison directives instead of defines to specify extra lexer parameters. 2013-08-01 12:00:04 +02:00
Hans Leidekker 823560d472 msi: Get rid of the remaining tabs. 2011-07-01 14:39:36 +02:00
Hans Leidekker eaa57c5b7b msi: Compare strings without depending on thread locale. 2010-10-19 13:49:54 +02:00
Hans Leidekker e58a67e9cd msi: Avoid accessing memory before the left hand string in compare_substring. 2010-09-24 18:20:52 +02:00
Hans Leidekker 186f4efa3f msi: Make msi_get_property_int and friends take a pointer to a database instead of a package.
They only operate on a database and this way we can use them before a package is created.
2010-04-21 11:57:33 +02:00
Nathan Gallaher 0c437f558c msi: Queue dynamically allocated strings in cond.y. 2010-01-08 17:03:15 +01:00
Hans Leidekker 843382f284 msi: Define common strings only once. 2009-10-15 14:16:50 +02:00
Aric Stewart 39600d9d2e msi: Reorder the condition operators so that longer strings are matched first.
This allows ~<< to be properly matched.
2009-03-23 15:26:02 +01:00
James Hawkins 7ae4f695bc msi: Convert string variables to ints when appropriate. 2008-05-13 10:44:22 +02:00
James Hawkins 5e2bc5b3fe msi: If a feature's action is INSTALLSTATE_UNKNOWN, MsiEvaluateCondition should return MSICONDITION_FALSE. 2008-02-28 10:59:16 +01:00
Michael Stefaniuc 02933a11de dlls: Remove unreachable break after return/break. Found by Smatch. 2007-07-19 11:57:49 +02:00
James Hawkins 6b97f8905d msi: Handle remote calls to MsiEvaluateCondition. 2007-07-06 18:12:11 +02:00
Andrew Talbot 1486d851da msi: Constify some variables. 2007-06-01 12:51:14 +02:00
Alexandre Julliard fadc820fe5 Revert "msi: Comparisons with null in conditions are special."
This reverts commit 9dce96b315.
2006-12-14 17:02:23 +01:00
Mike McCormack 9dce96b315 msi: Comparisons with null in conditions are special. 2006-12-07 17:54:32 +01:00
Mike McCormack 80affb3c2d msi: Merge action.h into msipriv.h. 2006-10-10 16:12:12 +02:00
Alexandre Julliard 2d1b6182af msi: Change the prefix on bison-generated names to avoid the name-prefix directive. 2006-09-11 21:53:04 +02:00
Alexandre Julliard 689d943dab msi: Specify the bison name prefix directly in the source file. 2006-09-09 11:25:19 +02:00
James Hawkins 6a520c0b6d msi: Add handling for MsiEvaluateCondition's substring operators. 2006-08-22 12:11:40 +02:00
Mike McCormack 31c5652dc6 msi: Fix some memory leaks in the condition parser. 2006-07-27 11:56:57 +02:00
Mike McCormack 172e183cf3 msi: Don't define COND_SPACE twice. 2006-06-15 11:39:28 +02:00
Hans Leidekker c077aaf116 msi: Fix some copy/paste bugs in the implementation of condition operators. 2006-06-05 13:50:32 +02:00
Jonathan Ernst 360a3f9142 Update the address of the Free Software Foundation. 2006-05-23 14:11:13 +02:00
Mike McCormack deaae4b8d1 Empty strings are not equal to any number, so all comparisons against
them fail except for tests for non-equalness.
2005-11-14 12:29:10 +00:00
Mike McCormack fc0cc66b54 Fix comparison of empty properties to numbers and add test cases. 2005-11-14 11:24:14 +00:00
Mike McCormack 1238fda624 Add missing semicolons that caused compile trouble on FreeBSD. 2005-11-03 09:55:30 +00:00
Mike McCormack da20e4d9ca NULL and empty strings are the same in conditions. 2005-11-02 19:58:01 +00:00
Mike McCormack 9d43994ec2 Add a bunch of tests for MsiEvaluateCondition and make them pass. 2005-10-29 11:08:05 +00:00
Mike McCormack 029c83d88e Fix error handling in MsiEvaluateCondition. 2005-10-28 10:41:05 +00:00
Mike McCormack 470f23d471 Fix various memory leaks. 2005-09-22 10:56:26 +00:00
Mike McCormack ee034ba4c2 Added memory allocation inline functions (part 2). 2005-09-20 11:59:14 +00:00
Mike McCormack b58a098a11 -Wmissing-declarations and -Wwrite-strings warning fixes. 2005-05-29 20:08:12 +00:00
Aric Stewart d5bfaf7897 A few small fixes. 2005-05-18 17:46:38 +00:00
Peter Berg Larsen 6e3bcb5a54 Replace strncpy with memcpy or lstrcpyn. 2005-04-18 10:30:55 +00:00
Aric Stewart 0f65057aed Do not limit properties to 256 characters when evaluating them. 2005-02-09 13:26:16 +00:00
Juan Lang 5f35a32f60 Identifiers evaluate to true if they are non-empty, regardless of
value.
2005-02-08 12:13:49 +00:00
Mike McCormack 79a6626b64 MsiEvaluateCondition returns an error when passed NULL as a
condition.
2005-02-02 09:29:46 +00:00
Michael Stefaniuc b937407ee5 Do not check for non NULL pointer before HeapFree'ing it. It's
redundant.
2005-01-20 10:36:35 +00:00
Troy Rollo 7ade261c35 Fix parsing of string literals. 2004-07-29 02:36:06 +00:00