diff options
Diffstat (limited to 'src/MXFTypes.cpp')
| -rwxr-xr-x | src/MXFTypes.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/MXFTypes.cpp b/src/MXFTypes.cpp index 72338bb..58fb184 100755 --- a/src/MXFTypes.cpp +++ b/src/MXFTypes.cpp @@ -286,7 +286,9 @@ ASDCP::MXF::UTF16String::Unarchive(Kumu::MemIOReader* Reader) for ( ui32_t i = 0; i < length; i++ ) { - int count = wcrtomb(mb_buf, KM_i16_BE(p[i]), &ps); + ui16_t pi; + memcpy(&pi, &p[i], sizeof(ui16_t)); + int count = wcrtomb(mb_buf, KM_i16_BE(pi), &ps); if ( count == -1 ) { @@ -715,7 +717,7 @@ ASDCP::MXF::RGBALayout::EncodeString(char* buf, ui32_t buf_len) const std::string tmp_str; char tmp_buf[64]; - for ( int i = 0; i < RGBAValueLength && m_value[i] != 0; i += 2 ) + for ( size_t i = 0; i < RGBAValueLength && m_value[i] != 0; i += 2 ) { snprintf(tmp_buf, 64, "%c(%d)", get_char_for_code(m_value[i]), m_value[i+1]); @@ -815,7 +817,7 @@ ASDCP::MXF::J2KExtendedCapabilitiesType::EncodeString(char* str_buf, ui32_t buf_ if ( Pcap != 0 && buf_len > str_len ) { - for ( int i = 0; i < Ccap.size(); ++i ) + for ( size_t i = 0; i < Ccap.size(); ++i ) { snprintf(str_buf+(i*3), 4, "%02hx.", Ccap[i].value); } |
