FW: RE: My 1.0 wish list

EA Durbin ead1234 at hotmail.com
Sun Jun 4 12:12:18 CDT 2006


I think i might actually see the problem. Let me test it.

In  cond.tab.c the regexes are all wrong for matching the comparison tests.


{ {'~','<','=',0}, COND_IGE },

This should be parsing as

{ {'~','>','=',0}, COND_IGE },



and
        { {'~','<',0},     COND_IGT },

we're matching a less than sign, so if it is matching the "<" it runs 
COND_IGT it should be

        { {'~','>',0},     COND_IGT },

>From: "EA Durbin" <ead1234 at hotmail.com>
>To: hans at it.vu.nl, mike at codeweavers.com
>CC: wine-devel at winehq.org
>Subject: Re: FW: RE: My 1.0 wish list
>Date: Sun, 04 Jun 2006 11:59:25 -0500
>
>
>Nice Catch!!!
>
>But unfortunately no, it doesn't fix the problem, the test SELECT * FROM 
>TABLE WHERE testcondition >= testinteger is still returning the wrong 
>results.
>
>are we using the case COND_ILE when we compare for greater than or equal 
>to? Or just when less than or equal to?
>
>or does SELECT * FROM TABLE WHERE >= or > only call IGE or IGT?
>
>
>
>>From: Hans Leidekker <hans at it.vu.nl>
>>To: "EA Durbin" <ead1234 at hotmail.com>
>>CC: wine-devel at winehq.org
>>Subject: Re: FW: RE: My 1.0 wish list
>>Date: Sun, 4 Jun 2006 11:29:49 +0200
>>
>>On Sunday 04 June 2006 11:01, EA Durbin wrote:
>>
>> > It shouldnt matter whether its >= or >, they both return the wrong 
>>results
>> > in the actual msi installer and the right results in db.c.
>>
>>Does this patch help?
>>
>>  -Hans
>>
>>diff --git a/dlls/msi/cond.y b/dlls/msi/cond.y
>>index b32c417..47f858a 100644
>>--- a/dlls/msi/cond.y
>>+++ b/dlls/msi/cond.y
>>@@ -463,7 +463,7 @@ static INT compare_int( INT a, INT opera
>>          return a >= b;
>>      case COND_LE:
>>      case COND_ILE:
>>-        return a >= b;
>>+        return a <= b;
>>      case COND_SS:
>>      case COND_ISS:
>>          return ( a & b ) ? 1 : 0;
>
>
>
>





More information about the wine-devel mailing list