diff --git a/direct/src/dcparser/dcPacker.cxx b/direct/src/dcparser/dcPacker.cxx index a33eb116a9..92e01d5d32 100755 --- a/direct/src/dcparser/dcPacker.cxx +++ b/direct/src/dcparser/dcPacker.cxx @@ -103,7 +103,7 @@ end_pack() { void DCPacker:: begin_unpack(const string &data, const DCPackerInterface *root) { _unpack_str = data; - begin_unpack(data.data(), data.length(), root); + begin_unpack(_unpack_str.data(), _unpack_str.length(), root); } //////////////////////////////////////////////////////////////////// @@ -207,15 +207,15 @@ push() { } else { size_t length; if (length_bytes == 4) { - length = ((size_t)(unsigned char)_unpack_data[_unpack_p + 0] | - ((size_t)(unsigned char)_unpack_data[_unpack_p + 1] << 8) | - ((size_t)(unsigned char)_unpack_data[_unpack_p + 2] << 16) | - ((size_t)(unsigned char)_unpack_data[_unpack_p + 3] << 24)); + length = (size_t)((size_t)(unsigned char)_unpack_data[_unpack_p + 0] | + ((size_t)(unsigned char)_unpack_data[_unpack_p + 1] << 8) | + ((size_t)(unsigned char)_unpack_data[_unpack_p + 2] << 16) | + ((size_t)(unsigned char)_unpack_data[_unpack_p + 3] << 24)); _unpack_p += 4; _push_marker = _unpack_p + length; } else { - length = ((size_t)(unsigned char)_unpack_data[_unpack_p + 0] | - ((size_t)(unsigned char)_unpack_data[_unpack_p + 1] << 8)); + length = (size_t)((size_t)(unsigned char)_unpack_data[_unpack_p + 0] | + ((size_t)(unsigned char)_unpack_data[_unpack_p + 1] << 8)); _unpack_p += 2; } _push_marker = _unpack_p + length; diff --git a/direct/src/dcparser/dcSimpleType.cxx b/direct/src/dcparser/dcSimpleType.cxx index 3d35aeb722..3e5495b1b7 100755 --- a/direct/src/dcparser/dcSimpleType.cxx +++ b/direct/src/dcparser/dcSimpleType.cxx @@ -990,8 +990,8 @@ unpack_string(const char *data, size_t length, size_t &p, string &value) const { if (p + 2 > length) { return false; } - string_length = ((unsigned int)(unsigned char)data[p] | - ((unsigned int)(unsigned char)data[p + 1] << 8)); + string_length = (size_t)((unsigned int)(unsigned char)data[p] | + ((unsigned int)(unsigned char)data[p + 1] << 8)); p += 2; break; @@ -999,10 +999,10 @@ unpack_string(const char *data, size_t length, size_t &p, string &value) const { if (p + 4 > length) { return false; } - string_length = ((unsigned int)(unsigned char)data[p] | - ((unsigned int)(unsigned char)data[p + 1] << 8) | - ((unsigned int)(unsigned char)data[p + 2] << 16) | - ((unsigned int)(unsigned char)data[p + 3] << 24)); + string_length = (size_t)((unsigned int)(unsigned char)data[p] | + ((unsigned int)(unsigned char)data[p + 1] << 8) | + ((unsigned int)(unsigned char)data[p + 2] << 16) | + ((unsigned int)(unsigned char)data[p + 3] << 24)); p += 4; break;