21a22,33 > template > unsigned long to_unsigned( Ch ch ) > { > return static_cast( ch ); > } > template<> > inline unsigned long to_unsigned( char ch ) > { > unsigned char* p = reinterpret_cast( &ch ); > return *p; > } > 46c58 < unsigned long u = (std::min)(static_cast(*b), 0xFFFFul); --- > unsigned long u = (std::min)(to_unsigned(*b), 0xFFFFul);