summaryrefslogtreecommitdiffstats
path: root/thirdparty/icu4c/common/rbbirb.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'thirdparty/icu4c/common/rbbirb.cpp')
-rw-r--r--thirdparty/icu4c/common/rbbirb.cpp20
1 files changed, 10 insertions, 10 deletions
diff --git a/thirdparty/icu4c/common/rbbirb.cpp b/thirdparty/icu4c/common/rbbirb.cpp
index 1b2ee67187..4fd789970c 100644
--- a/thirdparty/icu4c/common/rbbirb.cpp
+++ b/thirdparty/icu4c/common/rbbirb.cpp
@@ -103,7 +103,7 @@ RBBIRuleBuilder::~RBBIRuleBuilder() {
int i;
for (i=0; ; i++) {
- RBBINode *n = (RBBINode *)fUSetNodes->elementAt(i);
+ RBBINode* n = static_cast<RBBINode*>(fUSetNodes->elementAt(i));
if (n==nullptr) {
break;
}
@@ -182,12 +182,12 @@ RBBIDataHeader *RBBIRuleBuilder::flattenData() {
}
#endif
- RBBIDataHeader *data = (RBBIDataHeader *)uprv_malloc(totalSize);
- if (data == nullptr) {
+ LocalMemory<RBBIDataHeader> data(static_cast<RBBIDataHeader*>(uprv_malloc(totalSize)));
+ if (data.isNull()) {
*fStatus = U_MEMORY_ALLOCATION_ERROR;
return nullptr;
}
- uprv_memset(data, 0, totalSize);
+ uprv_memset(data.getAlias(), 0, totalSize);
data->fMagic = 0xb1a0;
@@ -213,23 +213,23 @@ RBBIDataHeader *RBBIRuleBuilder::flattenData() {
uprv_memset(data->fReserved, 0, sizeof(data->fReserved));
- fForwardTable->exportTable((uint8_t *)data + data->fFTable);
- fForwardTable->exportSafeTable((uint8_t *)data + data->fRTable);
- fSetBuilder->serializeTrie ((uint8_t *)data + data->fTrie);
+ fForwardTable->exportTable(reinterpret_cast<uint8_t*>(data.getAlias()) + data->fFTable);
+ fForwardTable->exportSafeTable(reinterpret_cast<uint8_t*>(data.getAlias()) + data->fRTable);
+ fSetBuilder->serializeTrie(reinterpret_cast<uint8_t*>(data.getAlias()) + data->fTrie);
- int32_t *ruleStatusTable = (int32_t *)((uint8_t *)data + data->fStatusTable);
+ int32_t* ruleStatusTable = reinterpret_cast<int32_t*>(reinterpret_cast<uint8_t*>(data.getAlias()) + data->fStatusTable);
for (i=0; i<fRuleStatusVals->size(); i++) {
ruleStatusTable[i] = fRuleStatusVals->elementAti(i);
}
- u_strToUTF8WithSub((char *)data+data->fRuleSource, rulesSize, &rulesLengthInUTF8,
+ u_strToUTF8WithSub(reinterpret_cast<char*>(data.getAlias()) + data->fRuleSource, rulesSize, &rulesLengthInUTF8,
fStrippedRules.getBuffer(), fStrippedRules.length(),
0xfffd, nullptr, fStatus);
if (U_FAILURE(*fStatus)) {
return nullptr;
}
- return data;
+ return data.orphan();
}