按照编码规范修改

Signed-off-by: lichao <lichao74@huawei.com>
This commit is contained in:
lichao
2023-12-21 17:32:43 +08:00
parent abd1c52c3a
commit 82058110c2
4 changed files with 49 additions and 45 deletions
+2 -2
View File
@@ -510,7 +510,7 @@ static int32_t CopySyscopToRet(struct PcidPriSyscapInfo pcidPriSyscapInfo, const
break;
}
}
pcidPriSyscapInfo.ret = strcpy_s(tempSyscap, sizeof(char) * SINGLE_SYSCAP_LEN, g_arraySyscap[t].str);
pcidPriSyscapInfo.ret = strcpy_s(tempSyscap, sizeof(char) * SINGLE_SYSCAP_LEN, g_arraySyscap[t].str);
// 2, header of pcid & rpcid
if (pcidPriSyscapInfo.ret != EOK) {
return -1;
@@ -542,7 +542,7 @@ static int32_t CheckPcidEachBit(struct PcidPriSyscapInfo pcidPriSyscapInfo, Comp
return 0;
}
static int32_t ComparePcidWithOsSyscap(struct PcidPriSyscapInfo pcidPriSyscapInfo,
static int32_t ComparePcidWithOsSyscap(struct PcidPriSyscapInfo pcidPriSyscapInfo,
uint32_t pcidOsAarry[PCID_OUT_BUFFER], uint32_t rpcidOsAarry[PCID_OUT_BUFFER], CompareError *result,
const size_t allSyscapNum)
{
+14 -23
View File
@@ -29,9 +29,6 @@ constexpr size_t PCID_MAIN_U32 = OS_SYSCAP_U32_NUM + 2;
constexpr size_t U32_TO_STR_MAX_LEN = 11;
constexpr size_t KEY_BUFFER_SIZE = 32;
#define FREE_PRICAP_ARRAY_AFTER_GET_SYS_CAP 1
#define FREE_PRIOUTPUT_AFTER_GET_SYS_CAP 2
#define GET_PARAMS(env, info, num) \
size_t argc = num; \
napi_value argv[num] = {0}; \
@@ -53,16 +50,15 @@ struct SystemCapabilityAsyncContext {
int status = 0;
};
static char* CalculateAllStringLength(char *priOutput, char osCapArray[PCID_MAIN_U32][U32_TO_STR_MAX_LEN],
char (*priCapArray)[SINGLE_SYSCAP_LEN], char *allSyscapBuffer)
static char* CalculateAllStringLength(char osCapArray[PCID_MAIN_U32][U32_TO_STR_MAX_LEN],
char (*priCapArray)[SINGLE_SYSCAP_LEN], bool retBool, int priCapArrayCnt)
{
bool retBool;
errno_t err = EOK;
char *temp = nullptr;
int retError, priCapArrayCnt;
int retError;
int sumLen = 0;
char *allSyscapBuffer = nullptr;
retBool = DecodePrivateSyscap(priOutput, &priCapArray, &priCapArrayCnt);
if (!retBool) {
PRINT_ERR("get encoded private syscap failed.");
return allSyscapBuffer;
@@ -111,20 +107,10 @@ static char* CalculateAllStringLength(char *priOutput, char osCapArray[PCID_MAIN
return allSyscapBuffer;
}
static char* FreeAfterGetSysCap(char *priOutput, char (*priCapArray)[SINGLE_SYSCAP_LEN], char *allSyscapBuffer,
int32_t type)
{
if (type == FREE_PRICAP_ARRAY_AFTER_GET_SYS_CAP) {
free(priCapArray);
}
free(priOutput);
return allSyscapBuffer;
}
static char* GetSystemCapability()
{
bool retBool;
int retError, priOutputLen;
int retError, priOutputLen, priCapArrayCnt;
char osOutput[SINGLE_SYSCAP_LEN] = {};
uint32_t *osCapU32 = nullptr;
@@ -142,7 +128,7 @@ static char* GetSystemCapability()
retBool = EncodePrivateSyscap(&priOutput, &priOutputLen);
if (!retBool) {
PRINT_ERR("get encoded private syscap failed.");
return FreeAfterGetSysCap(priOutput, priCapArray, allSyscapBuffer, FREE_PRIOUTPUT_AFTER_GET_SYS_CAP);
goto FREE_PRIOUTPUT;
}
osCapU32 = reinterpret_cast<uint32_t *>(osOutput);
@@ -150,12 +136,17 @@ static char* GetSystemCapability()
retError = sprintf_s(osCapArray[i], U32_TO_STR_MAX_LEN, "%u", osCapU32[i]);
if (retError == -1) {
PRINT_ERR("get uint32_t syscap string failed.");
return FreeAfterGetSysCap(priOutput, priCapArray, allSyscapBuffer, FREE_PRIOUTPUT_AFTER_GET_SYS_CAP);
goto FREE_PRIOUTPUT;
}
}
retBool = DecodePrivateSyscap(priOutput, &priCapArray, &priCapArrayCnt);
allSyscapBuffer = CalculateAllStringLength(osCapArray, priCapArray, retBool, priCapArrayCnt);
free(priCapArray);
allSyscapBuffer = CalculateAllStringLength(priOutput, osCapArray, priCapArray, allSyscapBuffer);
return FreeAfterGetSysCap(priOutput, priCapArray, allSyscapBuffer, FREE_PRICAP_ARRAY_AFTER_GET_SYS_CAP);
FREE_PRIOUTPUT:
free(priOutput);
return allSyscapBuffer;
}
napi_value QuerySystemCapability(napi_env env, napi_callback_info info)
+31 -18
View File
@@ -775,11 +775,36 @@ static int32_t GetEncodePCIDOut(uint16_t priSyscapCount, uint32_t privateSyscapL
return FreeAfterEncodePCID(freePcidInfo, FREE_ENCODE_PCID_OUT, ret);
}
static int32_t CheckPrivateSyCap(struct FreeEncodePcidInfo freePcidInfo, uint32_t privateSyscapLen,
char *privateSyscap, int32_t ret)
{
uint32_t i, j;
char tempSyscap[SINGLE_SYSCAP_LEN] = {0};
char *temp = tempSyscap;
for (i = 0, j = 0; i < privateSyscapLen; i++) {
if (*privateSyscap == ',') {
*temp = '\0';
ret = sprintf_s(freePcidInfo.priSyscapFull + j * SINGLE_SYSCAP_LEN, SINGLE_SYSCAP_LEN,
"SystemCapability.%s", tempSyscap);
if (ret == -1) {
PRINT_ERR("sprintf_s failed\n");
return ret;
}
temp = tempSyscap;
privateSyscap++;
j++;
continue;
}
*temp++ = *privateSyscap++;
}
return ret;
}
int32_t EncodePcidscToString(char *inputFile, char *outDirPath)
{
int32_t ret = 0;
uint32_t bufferLen, privateSyscapLen;
uint32_t i, j;
uint32_t i;
uint32_t *mainSyscap = NULL;
uint16_t priSyscapCount = 0;
@@ -825,24 +850,12 @@ int32_t EncodePcidscToString(char *inputFile, char *outDirPath)
}
(void)memset_s(freePcidInfo.priSyscapFull, priSyscapCount * SINGLE_SYSCAP_LEN,
0, priSyscapCount * SINGLE_SYSCAP_LEN);
char tempSyscap[SINGLE_SYSCAP_LEN] = {0};
char *temp = tempSyscap;
for (i = 0, j = 0; i < privateSyscapLen; i++) {
if (*privateSyscap == ',') {
*temp = '\0';
ret = sprintf_s(freePcidInfo.priSyscapFull + j * SINGLE_SYSCAP_LEN, SINGLE_SYSCAP_LEN,
"SystemCapability.%s", tempSyscap);
if (ret == -1) {
PRINT_ERR("sprintf_s failed\n");
return FreeAfterEncodePCID(freePcidInfo, FREE_ENCODE_PCID_PRISYSCAP_FULL_OUT, ret);
}
temp = tempSyscap;
privateSyscap++;
j++;
continue;
}
*temp++ = *privateSyscap++;
ret = CheckPrivateSyCap(freePcidInfo, privateSyscapLen, privateSyscap, ret);
if (ret == -1) {
return FreeAfterEncodePCID(freePcidInfo, FREE_ENCODE_PCID_PRISYSCAP_FULL_OUT, ret);
}
// output
return GetEncodePCIDOut(priSyscapCount, privateSyscapLen, mainSyscap, freePcidInfo, ret);
}
+2 -2
View File
@@ -54,7 +54,7 @@
#define FREE_RPCID_ROOT_AFTER_RPCIDSC 5
#define FREE_CONTEXT_OUT_AFTER_RPCIDSC 6
struct JsonObjectSysCap{
struct JsonObjectSysCap {
cJSON *cjsonObjectRoot;
cJSON *sysCapPtr;
};
@@ -373,7 +373,7 @@ static int32_t OutputSetMemAndPrintToFile(struct FreeAfterEncodeRpcidscInfo free
outUint[1] = *(uint32_t *)(freeAfterEncodeRpcidscInfo.contextBuffer + sizeof(uint32_t));
uint8_t *osOutUint = (uint8_t *)(outUint + 2);
// 120, len of osOutUint
if (SetOsSysCapBitMap(osOutUint, 120, freeAfterEncodeRpcidscInfo.osSysCapIndex, indexOs) != 0) {
if (SetOsSysCapBitMap(osOutUint, 120, freeAfterEncodeRpcidscInfo.osSysCapIndex, indexOs) != 0) {
PRINT_ERR("Set os syscap bit map failed.\n");
freeAfterEncodeRpcidscInfo.flag = 1;
return ret;