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ò,
- Jose Quinteiro
+ Jose Quinteiro, William Morgan, _why
}
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 );
}