68a69,74 > > #ifdef TEC_PARTIALCHAR_PATCH > // TEC PartialChar Patch > unsigned int _partialCharLen; > UInt8 _partialCharBuffer[16]; > #endif //TEC_PARTIALCHAR_PATCH 332a339,342 > > #ifdef TEC_PARTIALCHAR_PATCH > _partialCharLen = 0; > #endif //TEC_PARTIALCHAR_PATCH 336a347,364 > #ifdef TEC_PARTIALCHAR_PATCH > const UInt8 *sourcePointer; > unsigned long sourceLength; > > if(_partialCharLen == 0) { > sourcePointer = chs; > sourceLength = len; > } > else { > sourceLength = _partialCharLen + len; > if(sourceLength > 16) { > sourceLength = 16; > } > > memcpy(_partialCharBuffer + _partialCharLen, chs, sourceLength - _partialCharLen); > sourcePointer = _partialCharBuffer; > } > #else 339c367,368 < --- > #endif //TEC_PARTIALCHAR_PATCH > 341a371,373 > #ifdef TEC_PARTIALCHAR_PATCH > unsigned long bytesRead = 0; > #endif //TEC_PARTIALCHAR_PATCH 355a388,390 > #ifdef TEC_PARTIALCHAR_PATCH > _partialCharLen = 0; > #endif //TEC_PARTIALCHAR_PATCH 356a392,394 > #ifdef TEC_PARTIALCHAR_PATCH > bytesRead = 0; > #else 357a396 > #endif //TEC_PARTIALCHAR_PATCH 387a427,444 > > #ifdef TEC_PARTIALCHAR_PATCH > if (_partialCharLen > 0) { > unsigned int skipLen; > if(bytesRead < _partialCharLen) { > skipLen = 0; > } > else { > skipLen = bytesRead - _partialCharLen; > } > sourcePointer = chs + skipLen; > sourceLength = len - skipLen; > if(status == kTECPartialCharErr) { > status = noErr; > } > _partialCharLen = 0; > } > #endif //TEC_PARTIALCHAR_PATCH 390a448,458 > #ifdef TEC_PARTIALCHAR_PATCH > if (status == kTECPartialCharErr) { > if(sourceLength < 16) { > memcpy(_partialCharBuffer, sourcePointer, sourceLength); > _partialCharLen = sourceLength; > } > sourcePointer += sourceLength; > sourceLength = 0; > status = noErr; > } > #endif //TEC_PARTIALCHAR_PATCH