Qbasicnews.com

Full Version: Bug Reports
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
no it isn't
Code:
sub test(text as string * 1)
   print text
end sub
test("h")
test("i")
test("j")
sleep
gives same effect
Code:
IF a>"" [...]
umm...what part were you talking about again? That looks pretty incorrect to me, but I could be wrong...
It's correct. It is always true except when a is the empty string.
You shouldn't be allowed to declare fixed-len strings on function arguments and function results.. fixed - Von seems to read my mind, i knew that was possible and didn't fix it coz well, i thought nobody would find it out so early :P

subxero: actually, you found another bug that i-know-it-could-be-wrong-but-never-tested-it, qword fields (8 bytes long), were being aligned to qword boundary (i thought double's were aligned that way..), they should be aligned to dword boundary, so that WIN32_FIND_DATA will be wrong, 'cause the FILETIME fileds (all 8-byte longs). Fixed, will be on the next release - or already on CVS if you want to compile yourself. Btw, you could do "Type WIN32_FIND_DATA Field=1" by now to "fix" it.

Sterling: there's no floor() function on libc but for doubles (only C++ has overlapped ones), so INT() maps to double no matter the source kind, float or double.


Btw, happy new year, cyaz..
I think this may or may not be a bug. If your screen width is say, 60, and you print something like:

PRINT STRING(60, "-")

It starts another line in the next row with only 1 character.
i think numbers go from 0 to 59 not from 1 to 60 :wink: I may be wrong Big Grin
Nope, I'm pretty sure it starts at 1. If I make a line that is 59 characters across it's fine, but theres one blank space in the end. Then putting a character in the last space will shift the row. Is there any alternate waa to making a line all the way across the screen?
PRINT STRING(60, "-");

Printing the same number of chars as the console's width + a newline (PRINT w/o the ending semi-colon), will make it skip one line more.
Okay, is it a bug, or is it just wrong?
Code:
TYPE Test
   ENUM
      x = 0
      y
      z
   END ENUM
END TYPE
Also, what should this code do?
Code:
ENUM MyEnum
   a = 100
   b
   c
END ENUM
TYPE Test
   i AS MyEnum
END TYPE

DIM k AS Test
PRINT k.i   'gives 0, but can be used as integer datatype, and can assign any value
PRINT k.i%  'no error here either
'PRINT K.i.a, K.a are both wrong
SLEEP
And would it be possible to have so, if no name after enum then names would be used that are in enum, if name is set(aka enum myenum) then it'be needed to dim it or smth before use?
You can't have any other blocks inside TYPEs but nameless UNION's.

Enums are Integers, you can declare arguments and variables as enums and such, but they are not checked if you are really assigning/passing a constant that was part of the enum block -- so you are allowed to do like: myenum = X or Y
Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30