Negative values passed to Chr() generate an error

Just starting out? Need help? Post your questions and find answers here.
User avatar
DeanH
Enthusiast
Enthusiast
Posts: 281
Joined: Wed May 07, 2008 4:57 am
Location: Adelaide, South Australia
Contact:

Negative values passed to Chr() generate an error

Post by DeanH »

I have spotted a difference between 6.01 and 6.04 / 6.10 with the Chr() function.

Using 6.10 beta 1 and 6.04 LTS, ASM, a negative value passed to Chr() generates an error. With 6.01 LTS no error.

Code: Select all

;Error if run in 6.04 or 6.10, but no error in 6.01
a = -30
a$ = Chr(a)

Code: Select all

;No error with 6.04 and 6.10
a = -30
a = (a & 65535)
a$ = Chr(a)
Little John
Addict
Addict
Posts: 4805
Joined: Thu Jun 07, 2007 3:25 pm
Location: Berlin, Germany

Re: Negative values passed to Chr() generate an error

Post by Little John »

DeanH wrote: Tue Jan 09, 2024 5:43 am Using 6.10 beta 1 and 6.04 LTS, ASM, a negative value passed to Chr() generates an error.
Doing so is an error. So this is no bug.
Olli
Addict
Addict
Posts: 1267
Joined: Wed May 27, 2020 12:26 pm

Re: Negative values passed to Chr() generate an error

Post by Olli »

:shock:

I wish you a happy new year, preferably positive.
juergenkulow
Enthusiast
Enthusiast
Posts: 581
Joined: Wed Sep 25, 2019 10:18 am

Re: Negative values passed to Chr() generate an error

Post by juergenkulow »

User avatar
SPH
Enthusiast
Enthusiast
Posts: 596
Joined: Tue Jan 04, 2011 6:21 pm

Re: Negative values passed to Chr() generate an error

Post by SPH »

Code: Select all

    For i=1 To u
      z= ReadByte(#src)
      If z<0
        z+256
      EndIf
      a$+Chr(z)
    Next

!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Portable LENOVO ideapad 110-17ACL 64 bits
Version de PB : 6.12LTS - 64 bits
User avatar
DeanH
Enthusiast
Enthusiast
Posts: 281
Joined: Wed May 07, 2008 4:57 am
Location: Adelaide, South Australia
Contact:

Re: Negative values passed to Chr() generate an error

Post by DeanH »

I was not sure if it was classified as a bug. I am fully aware the generated error and documentation is correct. But it is a difference in behaviour and it may catch other code. I picked this up when transferring data in a file from one library system to a different one.
Post Reply