ICU-311 more small fixes in callbacks
X-SVN-Rev: 1891
This commit is contained in:
parent
64d3073fe9
commit
fa1d2584a1
@ -24,7 +24,6 @@
|
|||||||
|
|
||||||
#define VALUE_STRING_LENGTH 32
|
#define VALUE_STRING_LENGTH 32
|
||||||
/*Magic # 32 = 4(number of char in value string) * 8(max number of bytes per char for any converter) */
|
/*Magic # 32 = 4(number of char in value string) * 8(max number of bytes per char for any converter) */
|
||||||
#define CODEPOINT_STRING_LENGTH 7
|
|
||||||
#define UNICODE_PERCENT_SIGN_CODEPOINT 0x0025
|
#define UNICODE_PERCENT_SIGN_CODEPOINT 0x0025
|
||||||
#define UNICODE_U_CODEPOINT 0x0055
|
#define UNICODE_U_CODEPOINT 0x0055
|
||||||
#define UNICODE_X_CODEPOINT 0x0058
|
#define UNICODE_X_CODEPOINT 0x0058
|
||||||
@ -216,7 +215,6 @@ void UCNV_FROM_U_CALLBACK_ESCAPE (
|
|||||||
|
|
||||||
UChar valueString[VALUE_STRING_LENGTH];
|
UChar valueString[VALUE_STRING_LENGTH];
|
||||||
int32_t valueStringLength = 0;
|
int32_t valueStringLength = 0;
|
||||||
UChar codepoint[CODEPOINT_STRING_LENGTH];
|
|
||||||
int32_t i = 0;
|
int32_t i = 0;
|
||||||
/*Makes a bitwise copy of the converter passwd in */
|
/*Makes a bitwise copy of the converter passwd in */
|
||||||
UConverter myConverter = *(fromArgs->converter);
|
UConverter myConverter = *(fromArgs->converter);
|
||||||
@ -259,14 +257,12 @@ void UCNV_FROM_U_CALLBACK_ESCAPE (
|
|||||||
* how do we represent a code point > 0xffff? It should be one single escape, not
|
* how do we represent a code point > 0xffff? It should be one single escape, not
|
||||||
* two for a surrogate pair!
|
* two for a surrogate pair!
|
||||||
*/
|
*/
|
||||||
codepoint[0] = (UChar) UNICODE_PERCENT_SIGN_CODEPOINT; /* adding % */
|
|
||||||
codepoint[1] = (UChar) UNICODE_U_CODEPOINT; /* adding U */
|
|
||||||
|
|
||||||
while (i < length)
|
while (i < length)
|
||||||
{
|
{
|
||||||
itou (codepoint + 2, codeUnits[i++], 16, 4);
|
valueString[valueStringLength++] = (UChar) UNICODE_PERCENT_SIGN_CODEPOINT; /* adding % */
|
||||||
uprv_memcpy (valueString + valueStringLength, codepoint, sizeof (UChar) * 6);
|
valueString[valueStringLength++] = (UChar) UNICODE_U_CODEPOINT; /* adding U */
|
||||||
valueStringLength += CODEPOINT_STRING_LENGTH - 1;
|
itou (valueString + valueStringLength, codeUnits[i++], 16, 4);
|
||||||
|
valueStringLength += 4;
|
||||||
}
|
}
|
||||||
|
|
||||||
myValueSource = valueString;
|
myValueSource = valueString;
|
||||||
@ -276,7 +272,7 @@ void UCNV_FROM_U_CALLBACK_ESCAPE (
|
|||||||
&myTargetAlias,
|
&myTargetAlias,
|
||||||
myTargetAlias + VALUE_STRING_LENGTH,
|
myTargetAlias + VALUE_STRING_LENGTH,
|
||||||
&myValueSource,
|
&myValueSource,
|
||||||
myValueSource + CODEPOINT_STRING_LENGTH - 1,
|
myValueSource + valueStringLength,
|
||||||
NULL,
|
NULL,
|
||||||
TRUE,
|
TRUE,
|
||||||
&err2);
|
&err2);
|
||||||
|
Loading…
Reference in New Issue
Block a user