msi patch submission - cond.y

Dominic Wise dominic.wise at
Mon Jun 5 18:05:21 CDT 2006

I may be wrong, but I feel it might be useful for a naive outsider to
enter this discussion, even if it does mean I get burnt to a crisp. I'm
neither a Wine nor a parser developer (though I do have 14 years C/++
experience) and fully accept that I may be flamed to a tiny cinder for
my comments, but from what I can ascertain, cond.y is a composite file,
containing C and bison code. As far as I can tell (not quite  brave
enough to say AFAICT) the file is first read by the bison processor,
which reads the bison parser rules and C code and generates compilable
files for the C compiler. Having read what bison is (I think) supposed
to do, the tokens declared DO look is if they might be wrong [having
looked up 'tilde' and MSI on Google, it looks as though COND_I* actually
relates to strings, as it seems that the tilde means 'case insensitive',
but I wonder if it has been inadvertently used on integer comparisons by
some installers]. It also looks as if the tests in compare_int() for
COND_LE and COND_ILE may be wrong, unless there is some kind of
(uncommented) logic inversion somewhere. However, uppermost in my mind
is Mike McCormack's statement that 'Unfortunately cond.y has nothing to
do with SQL.'. If this is indeed the case then everything I have said
amounts to nought because I have assumed (very likely incorrectly) that
the parser code in cond.y, being part of the MSI dll,  relates to the
parsing of SQL statements in MSI. If this is the case I fully expect to
burn in newbie-land, and apologise for my presumption.

Torch me if you want. Just trying to help, and open the discussion :)

On Mon, 2006-06-05 at 09:02 -0500, EA Durbin wrote:
> Then what are the conditional statements in cond.y used for? Though they may 
> not be SQL errors, if IGE and ILEmeans IS Greater than or equal to, or Is 
> Less than or Equal to then it's still and error, even if it doesn't pertain 
> to SQL.
> Do these not mean IS Greater than or equal to, or Is Less than or Equal to ?
> >From: Mike McCormack <mike at>
> >To: wine-devel at
> >CC: ead1234 at
> >Subject: Re: msi patch submission - cond.y
> >Date: Mon, 05 Jun 2006 22:43:09 +0900
> >
> >
> >EA Durbin wrote:
> >>fixed various SQL errors in COND_GetOperator() and compare_int()
> >
> >Unfortunately cond.y has nothing to do with SQL.
> >
> >Mike

More information about the wine-devel mailing list