MaxTyutyunnikov / grub4dos-chenall

Automatically exported from code.google.com/p/grub4dos-chenall
0 stars 0 forks source link

<= and >= only works for numbers below 2GB (31-bits) #186

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 years ago
What steps will reproduce the problem?
1. cat --length=0 /3.7GB.iso
2. set L=%@retval%
if %L%<=500002817 echo fred

What is the expected output? What do you see instead?

This outputs fred as it thinks L is negative number.

L = 3267639296

if 3267639296 <= 500002817 echo fred
if 0xFFFFFFFFC2C43800 <= 0x1DCD7001 echo fred

--> fred

i.e.  <= is using signed 32-bit so only 31-bit integers possible

What version of the product are you using? On what operating system?

Please provide any additional information below.

Really need 64-bit signed compare??

Original issue reported on code.google.com by Steve6375 on 4 Jul 2014 at 11:47

GoogleCodeExporter commented 8 years ago
thanks report.
this is a bug,will fix next version.

Original comment by chenall.cn on 12 Aug 2014 at 9:27

GoogleCodeExporter commented 8 years ago

Original comment by chenall.cn on 12 Aug 2014 at 10:00