ICU-3050 minor code review changes
X-SVN-Rev: 13016
This commit is contained in:
parent
8f7092b9b3
commit
1c1fa55d36
@ -86,6 +86,8 @@ struct UStringPrepProfile{
|
||||
UDataMemory* sprepData;
|
||||
UBool isDataLoaded;
|
||||
int32_t refCount;
|
||||
UBool doNFKC;
|
||||
UBool checkBiDi;
|
||||
};
|
||||
|
||||
/**
|
||||
|
@ -66,7 +66,7 @@ typedef struct UStringPrepProfile UStringPrepProfile;
|
||||
* @see usprep_prepare
|
||||
* @draft ICU 2.8
|
||||
*/
|
||||
#define USPREP_NONE 0x0000
|
||||
#define USPREP_DEFAULT 0x0000
|
||||
|
||||
/**
|
||||
* Option to allow processing of unassigned code points in the input
|
||||
|
@ -277,6 +277,11 @@ usprep_getProfile(const char* path,
|
||||
if(!loadData(profile, path, name, _SPREP_DATA_TYPE, status) || U_FAILURE(*status) ){
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/* get the options */
|
||||
profile->doNFKC = (UBool)((profile->indexes[_SPREP_OPTIONS] & _SPREP_NORMALIZATION_ON) > 0);
|
||||
profile->checkBiDi = (UBool)((profile->indexes[_SPREP_OPTIONS] & _SPREP_CHECK_BIDI_ON) > 0);
|
||||
|
||||
umtx_lock(&usprepMutex);
|
||||
/* add the data object to the cache */
|
||||
uhash_put(SHARED_DATA_HASHTABLE, key, profile, status);
|
||||
@ -656,10 +661,6 @@ usprep_prepare( const UStringPrepProfile* profile,
|
||||
int32_t rtlPos =-1, ltrPos =-1;
|
||||
const int32_t *indexes = profile->indexes;
|
||||
|
||||
// get the options
|
||||
UBool doNFKC = (UBool)((indexes[_SPREP_OPTIONS] & _SPREP_NORMALIZATION_ON) > 0);
|
||||
UBool checkBiDi = (UBool)((indexes[_SPREP_OPTIONS] & _SPREP_CHECK_BIDI_ON) > 0);
|
||||
|
||||
//get the string length
|
||||
if(srcLength == -1){
|
||||
srcLength = u_strlen(src);
|
||||
@ -683,7 +684,7 @@ usprep_prepare( const UStringPrepProfile* profile,
|
||||
}
|
||||
|
||||
// normalize
|
||||
if(doNFKC == TRUE){
|
||||
if(profile->doNFKC == TRUE){
|
||||
b2Len = usprep_normalize(b1,b1Len, b2,b2Capacity,status);
|
||||
|
||||
if(*status == U_BUFFER_OVERFLOW_ERROR){
|
||||
@ -748,7 +749,7 @@ usprep_prepare( const UStringPrepProfile* profile,
|
||||
rtlPos = b2Index-1;
|
||||
}
|
||||
}
|
||||
if(checkBiDi == TRUE){
|
||||
if(profile->checkBiDi == TRUE){
|
||||
// satisfy 2
|
||||
if( leftToRight == TRUE && rightToLeft == TRUE){
|
||||
*status = U_STRINGPREP_CHECK_BIDI_ERROR;
|
||||
|
@ -86,7 +86,7 @@ nfs4_prepare( const char* src, int32_t srcLength,
|
||||
/* open the profile */
|
||||
profile = usprep_open(testdatapath, NFS4DataFileNames[state], status);
|
||||
/* prepare the string */
|
||||
b2Len = usprep_prepare(profile, b1, b1Len, b2, b2Capacity, USPREP_NONE, parseError, status);
|
||||
b2Len = usprep_prepare(profile, b1, b1Len, b2, b2Capacity, USPREP_DEFAULT, parseError, status);
|
||||
if(*status == U_BUFFER_OVERFLOW_ERROR){
|
||||
*status = U_ZERO_ERROR;
|
||||
b2 = (UChar*) malloc(b2Len * U_SIZEOF_UCHAR);
|
||||
@ -94,7 +94,7 @@ nfs4_prepare( const char* src, int32_t srcLength,
|
||||
*status = U_MEMORY_ALLOCATION_ERROR;
|
||||
goto CLEANUP;
|
||||
}
|
||||
b2Len = usprep_prepare(profile, b1, b1Len, b2, b2Len, USPREP_NONE, parseError, status);
|
||||
b2Len = usprep_prepare(profile, b1, b1Len, b2, b2Len, USPREP_DEFAULT, parseError, status);
|
||||
}
|
||||
|
||||
/* convert the string back to UTF-8 */
|
||||
|
@ -52,11 +52,11 @@ static void
|
||||
Test_nfs4_cs_prep_data(void){
|
||||
UErrorCode errorCode = U_ZERO_ERROR;
|
||||
log_verbose("Testing nfs4_cs_prep_ci.txt\n");
|
||||
doStringPrepTest("nfscsi","nfs4_cs_prep_ci.txt", USPREP_NONE, &errorCode);
|
||||
doStringPrepTest("nfscsi","nfs4_cs_prep_ci.txt", USPREP_DEFAULT, &errorCode);
|
||||
|
||||
log_verbose("Testing nfs4_cs_prep_cs.txt\n");
|
||||
errorCode = U_ZERO_ERROR;
|
||||
doStringPrepTest("nfscss","nfs4_cs_prep_cs.txt", USPREP_NONE, &errorCode);
|
||||
doStringPrepTest("nfscss","nfs4_cs_prep_cs.txt", USPREP_DEFAULT, &errorCode);
|
||||
|
||||
|
||||
}
|
||||
@ -64,17 +64,17 @@ static void
|
||||
Test_nfs4_cis_prep_data(void){
|
||||
UErrorCode errorCode = U_ZERO_ERROR;
|
||||
log_verbose("Testing nfs4_cis_prep.txt\n");
|
||||
doStringPrepTest("nfscis","nfs4_cis_prep.txt", USPREP_NONE, &errorCode);
|
||||
doStringPrepTest("nfscis","nfs4_cis_prep.txt", USPREP_DEFAULT, &errorCode);
|
||||
}
|
||||
static void
|
||||
Test_nfs4_mixed_prep_data(void){
|
||||
UErrorCode errorCode = U_ZERO_ERROR;
|
||||
log_verbose("Testing nfs4_mixed_prep_s.txt\n");
|
||||
doStringPrepTest("nfsmxs","nfs4_mixed_prep_s.txt", USPREP_NONE, &errorCode);
|
||||
doStringPrepTest("nfsmxs","nfs4_mixed_prep_s.txt", USPREP_DEFAULT, &errorCode);
|
||||
|
||||
errorCode = U_ZERO_ERROR;
|
||||
log_verbose("Testing nfs4_mixed_prep_p.txt\n");
|
||||
doStringPrepTest("nfsmxp","nfs4_mixed_prep_p.txt", USPREP_NONE, &errorCode);
|
||||
doStringPrepTest("nfsmxp","nfs4_mixed_prep_p.txt", USPREP_DEFAULT, &errorCode);
|
||||
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user