diff --git a/swig/perl/Transcoder/Transcoder.cpp b/swig/perl/Transcoder/Transcoder.cpp index 956742606dcc7d5c2eb5ae54e29086b23fa77920..9a0c5bb0221906ba22213a53f8fdacc70921788f 100644 --- a/swig/perl/Transcoder/Transcoder.cpp +++ b/swig/perl/Transcoder/Transcoder.cpp @@ -69,18 +69,18 @@ Transcoder::XMLString2Local(const XMLCh* input) { } SV *output; - unsigned int charsEaten = 0; + XMLSize_t charsEaten = 0; int length = XMLString::stringLen(input); // string length // use +1 to make room for the '\0' at the end of the string // in the pathological case when each character of the string // is UTF8_MAXLEN bytes long XMLByte* res = new XMLByte[(length * UTF8_MAXLEN) + 1]; // output string - unsigned int total_chars = + XMLSize_t total_chars = UTF8_TRANSCODER->transcodeTo((const XMLCh*) input, - (unsigned int) length, + (XMLSize_t) length, (XMLByte*) res, - (unsigned int) (length*UTF8_MAXLEN), + (XMLSize_t) (length*UTF8_MAXLEN), charsEaten, XMLTranscoder::UnRep_Throw ); @@ -126,14 +126,14 @@ Transcoder::Local2XMLString(SV* input){ #endif if (SvUTF8(input)) { - unsigned int charsEaten = 0; + XMLSize_t charsEaten = 0; unsigned char* sizes = new unsigned char[length+1]; output = new XMLCh[length+1]; - unsigned int chars_stored = + XMLSize_t chars_stored = UTF8_TRANSCODER->transcodeFrom((const XMLByte*) ptr, - (unsigned int) length, + (XMLSize_t) length, (XMLCh*) output, - (unsigned int) length, + (XMLSize_t) length, charsEaten, (unsigned char*)sizes );