Michael Schulz wrote:
When i looked in mapparser.y i found this line:
345:  math_exp '%' math_exp   { $$ = (int)$1 * (int)$3; }

This looks like the modulo operator is defined, but the calculation is
not modulo.

Michael,

indeed, that isn't modulo nor is it modulus, that's a multiplication of two truncated values (hence the (int) typecast). And http://trac.osgeo.org/mapserver/changeset/5151 confirms that line in mapparser.y is the actual implementation of what was called "modulus operator" in HISTORY.TXT.

I'd file a bug report about this, since at least it isn't clear what is meant with "modulus" in this instance. If you need the actual modulo operator, I'd suggest changing that line to

math_exp '%' math_exp   { $$ = (int)$1 % (int)$3; }

and regenerating the parser with yacc -p msyy -d -omapparser.c mapparser.y.

Best regards,
--
--------------------------------------------------------------------
Andreas Albarello
Analysis & SW Development

Territorium Online srl/GmbH
Via Buozzi/Buozzistraße 12 - I 39100 Bolzano/Bozen
email: [EMAIL PROTECTED]
web:   www.territoriumonline.com
--------------------------------------------------------------------

Reply via email to