#1271 SYSSTEMCOPY incorrect result on v4.2.0 (was OK on v4.1.2)

5.0.0
pending
None
none
1
2014-10-07
2014-07-04
AvdP
No

My REXX: v4.2.0 (32-bit)
My OS: both WinXP (32-bit) and Win7 (32-bit)

I have a SYSSTEMCOPY sample that fails on v4.2.0 (note that this was OK on 4.1.2).

Misbehaving statement:

rc = sysstemcopy('stem_source.', 'stem_target.',,,,'I')

See attachment for sample program.

The SYSSTEMCOPY misbehaves, which becomes apparant when I wish t sort the target stem:

15:34:36 (31) Incorrect call to routine
15:34:36 (31) Call SYSSTEMSORT "stem_target.", "D", "I"

1 Attachments

Discussion

  • AvdP

    AvdP - 2014-09-22

    I have simplified my bug report from above hoping someone will pick this up.

    Here is the testcase:

    rexx '-v'
    say

    stem_source.1 = 'aaa'
    stem_source.0 = 1

    stem_target.1 = 'bbb'
    stem_target.0 = 1

    rc = sysstemcopy('stem_source.', 'stem_target.',,,,'I')

    Do i=0 To stem_target.0
    Say 'stem_target.' || i '=' stem_target.i
    End

    On v413 the output is as expected:

    Open Object Rexx Version 4.1.3
    Build date: Jul 4 2013
    Addressing Mode: 32

    stem_target.0 = 2
    stem_target.1 = aaa
    stem_target.2 = bbb

    On v420 the SYSSTEMCOPY gives incorrect result:

    Open Object Rexx Version 4.2.0
    Build date: Feb 22 2014
    Addressing Mode: 32

    stem_target.0 = 2
    stem_target.1 = aaa
    stem_target.2 = STEM_TARGET.2

    Tx, Andre

     
  • AvdP

    AvdP - 2014-10-05

    Bug continues in test build 5.0.0.10610:

    Open Object Rexx Version 5.0.0 - Internal Test Version
    Build date: Oct 5 2014
    Addressing Mode: 32

    stem_target.0 = 2
    stem_target.1 = aaa
    stem_target.2 = STEM_TARGET.2

    Andre

     
  • Rick McGuire

    Rick McGuire - 2014-10-05
    • status: open --> pending
    • assigned_to: Rick McGuire
    • Group: None --> 5.0.0
     
  • Rick McGuire

    Rick McGuire - 2014-10-05

    Committed revision [r10622].

     

    Related

    Commit: [r10622]

  • AvdP

    AvdP - 2014-10-06

    I see you made the following update in rexxutil.cpp:

    Old:
    context->SetStemArrayElement(toStem, index, value);

    Update:
    context->SetStemArrayElement(toStem, index + fromCount, value);

    However, I was expecting the following:

    context->SetStemArrayElement(toStem, index + count, value);

     
  • Rick McGuire

    Rick McGuire - 2014-10-06

    Corrected fixed committed [r10628]

     

    Related

    Commit: [r10628]

  • AvdP

    AvdP - 2014-10-07

    My testcases all pass with build 10631 (ooRexx.5.0.0.10631-x86_32.exe).

    Many thanks,
    Andre

     


Anonymous

Cancel  Add attachments