+// © 2016 and later: Unicode, Inc. and others.
+// License & terms of use: http://www.unicode.org/copyright.html
/*
*******************************************************************************
*
*
*******************************************************************************
* file name: idnaref.cpp
- * encoding: US-ASCII
+ * encoding: UTF-8
* tab size: 8 (not used)
* indentation:4
*
return b2Len;
}
+
+static NamePrepTransform* getInstance(UErrorCode& status){
+ TestIDNA *thisTest = dynamic_cast<TestIDNA *>(IntlTest::gTest);
+ if (thisTest == nullptr && U_SUCCESS(status)) {
+ status = U_INTERNAL_PROGRAM_ERROR;
+ }
+ if (U_FAILURE(status)) return nullptr;
+ return thisTest->getInstance(status);
+}
+
+
static int32_t convertFromPuny( const UChar* src, int32_t srcLength,
UChar* dest, int32_t destCapacity,
UErrorCode& status){
b1[b1Len++] = src[j];
}
- NamePrepTransform* prep = TestIDNA::getInstance(*status);
+ NamePrepTransform* prep = getInstance(*status);
if(U_FAILURE(*status)){
goto CLEANUP;
}
}
if(srcIsASCII){
if(b1Len <= destCapacity){
- uprv_memmove(dest, b1, b1Len * U_SIZEOF_UCHAR);
+ u_memmove(dest, b1, b1Len);
reqLength = b1Len;
}else{
reqLength = b1Len;
goto CLEANUP;
}
//Step 7: prepend the ACE prefix
- uprv_memcpy(dest,ACE_PREFIX,ACE_PREFIX_LENGTH * U_SIZEOF_UCHAR);
+ u_memcpy(dest, ACE_PREFIX, ACE_PREFIX_LENGTH);
//Step 6: copy the contents in b2 into dest
- uprv_memcpy(dest+ACE_PREFIX_LENGTH, b2, b2Len * U_SIZEOF_UCHAR);
+ u_memcpy(dest+ACE_PREFIX_LENGTH, b2, b2Len);
}else{
*status = U_IDNA_ACE_PREFIX_ERROR;
reqLength=0;
// UParseError parseError;
- NamePrepTransform* prep = TestIDNA::getInstance(*status);
+ NamePrepTransform* prep = getInstance(*status);
b1Len = 0;
UBool* caseFlags = NULL;
// copy everything to b1
if(srcLength < b1Capacity){
- uprv_memmove(b1,src, srcLength * U_SIZEOF_UCHAR);
+ u_memmove(b1, src, srcLength);
}else{
/* we do not have enough room so grow the buffer*/
b1 = (UChar*) uprv_malloc(srcLength * U_SIZEOF_UCHAR);
*status = U_MEMORY_ALLOCATION_ERROR;
goto CLEANUP;
}
- uprv_memmove(b1,src, srcLength * U_SIZEOF_UCHAR);
+ u_memmove(b1, src, srcLength);
}
b1Len = srcLength;
}
//step 8: return output of step 5
reqLength = b2Len;
if(b2Len <= destCapacity) {
- uprv_memmove(dest, b2, b2Len * U_SIZEOF_UCHAR);
+ u_memmove(dest, b2, b2Len);
}
}else{
// verify that STD3 ASCII rules are satisfied
}
//copy the source to destination
if(srcLength <= destCapacity){
- uprv_memmove(dest,src,srcLength * U_SIZEOF_UCHAR);
+ u_memmove(dest, src, srcLength);
}
reqLength = srcLength;
}
//copy the source to destination
if(dest && srcLength <= destCapacity){
if(srcLength == -1) {
- uprv_memmove(dest,src,u_strlen(src)* U_SIZEOF_UCHAR);
+ u_memmove(dest, src, u_strlen(src));
} else {
- uprv_memmove(dest,src,srcLength * U_SIZEOF_UCHAR);
+ u_memmove(dest, src, srcLength);
}
}
reqLength = srcLength;
int32_t reqLength = 0;
// UParseError parseError;
- NamePrepTransform* prep = TestIDNA::getInstance(*status);
+ NamePrepTransform* prep = getInstance(*status);
//initialize pointers to stack buffers
UChar b1Stack[MAX_LABEL_BUFFER_SIZE];
int32_t tempLen = (reqLength + b1Len );
// copy to dest
if( tempLen< destCapacity){
- uprv_memmove(dest+reqLength, b1, b1Len * U_SIZEOF_UCHAR);
+ u_memmove(dest+reqLength, b1, b1Len);
}
reqLength = tempLen;
int32_t tempLen = (reqLength + b1Len );
// copy to dest
if( tempLen< destCapacity){
- uprv_memmove(dest+reqLength, b1, b1Len * U_SIZEOF_UCHAR);
+ u_memmove(dest+reqLength, b1, b1Len);
}
reqLength = tempLen;
}
labelStart = delimiter;
- remainingLen = srcLength - (delimiter - src);
+ remainingLen = static_cast<int32_t>(srcLength - (delimiter - src));
}
}
UBool done = FALSE;
- NamePrepTransform* prep = TestIDNA::getInstance(*status);
+ NamePrepTransform* prep = getInstance(*status);
//initialize pointers to stack buffers
UChar b1Stack[MAX_LABEL_BUFFER_SIZE];
int32_t tempLen = (reqLength + b1Len );
// copy to dest
if( tempLen< destCapacity){
- uprv_memmove(dest+reqLength, b1, b1Len * U_SIZEOF_UCHAR);
+ u_memmove(dest+reqLength, b1, b1Len);
}
reqLength = tempLen;
int32_t tempLen = (reqLength + b1Len );
// copy to dest
if( tempLen< destCapacity){
- uprv_memmove(dest+reqLength, b1, b1Len * U_SIZEOF_UCHAR);
+ u_memmove(dest+reqLength, b1, b1Len);
}
reqLength = tempLen;
}
labelStart = delimiter;
- remainingLen = srcLength - (delimiter - src);
+ remainingLen = static_cast<int32_t>(srcLength - (delimiter - src));
}
}