Learn how easy it is to sync an existing GitHub or Google Code repo to a SourceForge project! See Demo

Close

#37 clear() incorrectly implemented for numbers

closed-fixed
nobody
None
5
2010-08-22
2010-08-22
Andrew Barnham
No

clear(-1) and clear(1) always sets numeric to -2147483648 and 2147483647 respectively.

It does not take number encoding into account. i.e. when you clear a USHORT with -1 and 1 it should be 0 and 65535 respectively.

Clarion2Java models all numerics as 32bit signed integers. At key points it will enforce encoding (i.e. with OVER() attribute). But not all.

A number of areas system will yield different results. i.e. arithmetic that relies on binary overflow. Should not be a big deal because such logic does not belong in business software!

But clear is certainly a problem. if you clear a SHORT and that SHORT is a DB record column which is backed with a smallint SQL type, then it will not work.

Discussion

  • Andrew Barnham
    Andrew Barnham
    2010-08-22

    • status: open --> closed-fixed
     
  • Andrew Barnham
    Andrew Barnham
    2010-08-22

    Fixed in SVN head