alphabet is signed and on 64 bit. Reported by _why. Fix provided by Wialliam
Morgan. The literal 0xffffffff was used for a fully set long when -1L should be
used instead.
git-svn-id: http://svn.complang.org/ragel/trunk@663
052ea7fc-9027-0410-9066-
f65837a77df0
Kenny MacDermid, MenTaLguY, Manoj Rajagopalan, Tim Chklovski,
Mikkel Fahnøe Jørgensen, Andrei Polushin, Evan Phoenix, David Balmain,
Ross Thomas, Mitchell Foral, John D. Mitchell, Diego 'Flameeyes' Pettenò,
Kenny MacDermid, MenTaLguY, Manoj Rajagopalan, Tim Chklovski,
Mikkel Fahnøe Jørgensen, Andrei Polushin, Evan Phoenix, David Balmain,
Ross Thomas, Mitchell Foral, John D. Mitchell, Diego 'Flameeyes' Pettenò,
+ Jose Quinteiro, William Morgan, _why
}
if ( unusedBits && keyOps->alphType->isSigned && ul >> (size * 8 - 1) )
}
if ( unusedBits && keyOps->alphType->isSigned && ul >> (size * 8 - 1) )
- ul |= (0xffffffff >> (size*8 ) ) << (size*8);
+ ul |= ( 0xffffffff >> (size*8) ) << (size*8);
return Key( (long)ul );
}
return Key( (long)ul );
}