Rewrite the internal code of get functions.
getExportVars -> getExportVarCount , getExportVarList
getExportFuncs -> getExportFuncCount , getExportFuncList
getPragmas -> getPragmaCount , getPragmaList
getFunctions -> getFuncCount, getFuncNameList
getFunctionBinary -> getFuncBinary
diff --git a/lib/bcc/CacheWriter.cpp b/lib/bcc/CacheWriter.cpp
index 2eaa8ce..a0b5da2 100644
--- a/lib/bcc/CacheWriter.cpp
+++ b/lib/bcc/CacheWriter.cpp
@@ -144,9 +144,7 @@
bool CacheWriter::prepareFuncTable() {
- ssize_t funcCount = 0;
-
- mpOwner->getFunctions(&funcCount, 0, NULL);
+ size_t funcCount = mpOwner->getFuncCount();
size_t tableSize = sizeof(OBCC_FuncTable) +
sizeof(OBCC_FuncInfo) * funcCount;
@@ -164,16 +162,16 @@
tab->count = static_cast<size_t>(funcCount);
// Get the function informations
- vector<char *> funcNameList(funcCount);
- mpOwner->getFunctions(0, funcCount, &*funcNameList.begin());
+ vector<char const *> funcNameList(funcCount);
+ mpOwner->getFuncNameList(funcCount, &*funcNameList.begin());
- for (int i = 0; i < funcCount; ++i) {
- char *funcName = funcNameList[i];
+ for (size_t i = 0; i < funcCount; ++i) {
+ char const *funcName = funcNameList[i];
size_t funcNameLen = strlen(funcName);
void *funcAddr = NULL;
- ssize_t funcBinarySize = 0;
- mpOwner->getFunctionBinary(funcName, &funcAddr, &funcBinarySize);
+ size_t funcBinarySize = 0;
+ mpOwner->getFuncBinary(funcName, &funcAddr, &funcBinarySize);
OBCC_FuncInfo *funcInfo = &tab->table[i];
funcInfo->name_strp_index = addString(funcName, funcNameLen);
@@ -186,11 +184,7 @@
bool CacheWriter::preparePragmaList() {
- ssize_t stringCount;
-
- mpOwner->getPragmas(&stringCount, 0, NULL);
-
- size_t pragmaCount = static_cast<size_t>(stringCount) / 2;
+ size_t pragmaCount = mpOwner->getPragmaCount();
size_t listSize = sizeof(OBCC_PragmaList) +
sizeof(OBCC_Pragma) * pragmaCount;
@@ -207,14 +201,15 @@
list->count = pragmaCount;
- vector<char *> strings(stringCount);
- mpOwner->getPragmas(&stringCount, stringCount, &*strings.begin());
+ vector<char const *> keyList(pragmaCount);
+ vector<char const *> valueList(pragmaCount);
+ mpOwner->getPragmaList(pragmaCount, &*keyList.begin(), &*valueList.begin());
for (size_t i = 0; i < pragmaCount; ++i) {
- char *key = strings[2 * i];
- size_t keyLen = strlen(key);
+ char const *key = keyList[i];
+ char const *value = valueList[i];
- char *value = strings[2 * i + 1];
+ size_t keyLen = strlen(key);
size_t valueLen = strlen(value);
OBCC_Pragma *pragma = &list->list[i];
@@ -276,10 +271,7 @@
bool CacheWriter::prepareExportVarList() {
- ssize_t varCount;
-
- mpOwner->getExportVars(&varCount, 0, NULL);
-
+ size_t varCount = mpOwner->getExportVarCount();
size_t listSize = sizeof(OBCC_ExportVarList) + sizeof(void *) * varCount;
OBCC_ExportVarList *list = (OBCC_ExportVarList *)malloc(listSize);
@@ -294,16 +286,13 @@
list->count = static_cast<size_t>(varCount);
- mpOwner->getExportVars(&varCount, varCount, list->cached_addr_list);
+ mpOwner->getExportVarList(varCount, list->cached_addr_list);
return true;
}
bool CacheWriter::prepareExportFuncList() {
- ssize_t funcCount;
-
- mpOwner->getExportFuncs(&funcCount, 0, NULL);
-
+ size_t funcCount = mpOwner->getExportFuncCount();
size_t listSize = sizeof(OBCC_ExportFuncList) + sizeof(void *) * funcCount;
OBCC_ExportFuncList *list = (OBCC_ExportFuncList *)malloc(listSize);
@@ -318,7 +307,7 @@
list->count = static_cast<size_t>(funcCount);
- mpOwner->getExportFuncs(&funcCount, funcCount, list->cached_addr_list);
+ mpOwner->getExportFuncList(funcCount, list->cached_addr_list);
return true;
}