|
|
@@ -216,13 +216,14 @@ const char* StrPair::GetStr()
|
|
|
// 中 or 中
|
|
|
|
|
|
if ( *(p+1) == '#' ) {
|
|
|
- char buf[10] = { 0 };
|
|
|
- int len;
|
|
|
+ const int buflen = 10;
|
|
|
+ char buf[buflen] = { 0 };
|
|
|
+ int len = 0;
|
|
|
p = const_cast<char*>( XMLUtil::GetCharacterRef( p, buf, &len ) );
|
|
|
- for( int i=0; i<len; ++i ) {
|
|
|
- *q++ = buf[i];
|
|
|
- }
|
|
|
- TIXMLASSERT( q <= p );
|
|
|
+ TIXMLASSERT( 0 <= len && len <= buflen );
|
|
|
+ TIXMLASSERT( q + len <= p );
|
|
|
+ memcpy( q, buf, len );
|
|
|
+ q += len;
|
|
|
}
|
|
|
else {
|
|
|
int i=0;
|