!363 根据编码规范修改指标问题

Merge pull request !363 from 李超/master
This commit is contained in:
openharmony_ci
2023-12-27 03:43:07 +00:00
committed by Gitee
3 changed files with 74 additions and 29 deletions
+20 -8
View File
@@ -374,7 +374,6 @@ static void PrintResultToOutBuffer(struct FreeAfterDecodeRpcidInfo freeAfterDeco
if (ret == -1) {
PRINT_ERR("sprintf_s failed.\n");
free(outBuffer);
outBuffer = NULL;
return;
}
for (i = 1; i < RPCID_OUT_BUFFER; i++) {
@@ -382,7 +381,6 @@ static void PrintResultToOutBuffer(struct FreeAfterDecodeRpcidInfo freeAfterDeco
if (ret == -1) {
PRINT_ERR("sprintf_s failed.\n");
free(outBuffer);
outBuffer = NULL;
return;
}
}
@@ -392,7 +390,6 @@ static void PrintResultToOutBuffer(struct FreeAfterDecodeRpcidInfo freeAfterDeco
if (ret == -1) {
PRINT_ERR("sprintf_s failed.\n");
free(outBuffer);
outBuffer = NULL;
return;
}
}
@@ -413,8 +410,13 @@ static void PartSysCapAndOutBuffer(struct FreeAfterDecodeRpcidInfo freeAfterDeco
// part os syscap and ptivate syscap
for (i = 0; i < (uint32_t)freeAfterDecodeRpcidInfo.sysCapArraySize; i++) {
cJSON *cJsonItem = cJSON_GetArrayItem(sysCapArray, i);
if (cJsonItem->valuestring == NULL) {
cJSON_Delete(cJsonItem);
return;
}
cJsonTemp = cJSON_GetObjectItem(freeAfterDecodeRpcidInfo.sysCapDefine, cJsonItem->valuestring);
if (cJsonTemp != NULL) {
if (cJsonTemp != NULL && cJSON_IsNumber(cJsonTemp)) {
freeAfterDecodeRpcidInfo.osSysCapIndex[indexOs++] = (uint16_t)(cJsonTemp->valueint);
} else {
ret = strcpy_s(freeAfterDecodeRpcidInfo.priSyscap, SINGLE_SYSCAP_LEN, cJsonItem->valuestring);
@@ -435,16 +437,26 @@ static char *FreeAfterDecodeRpcidToString(struct FreeAfterDecodeRpcidInfo freeAf
switch (type) {
case FREE_MALLOC_PRISYSCAP_AFTER_DECODE_RPCID:
free(freeAfterDecodeRpcidInfo.priSyscap);
/* fall-through */
free(freeAfterDecodeRpcidInfo.osSysCapIndex);
cJSON_Delete(freeAfterDecodeRpcidInfo.sysCapDefine);
cJSON_Delete(freeAfterDecodeRpcidInfo.rpcidRoot);
FreeContextBuffer(freeAfterDecodeRpcidInfo.contextBuffer);
break;
case FREE_MALLOC_OSSYSCAP_AFTER_DECODE_RPCID:
free(freeAfterDecodeRpcidInfo.osSysCapIndex);
/* fall-through */
cJSON_Delete(freeAfterDecodeRpcidInfo.sysCapDefine);
cJSON_Delete(freeAfterDecodeRpcidInfo.rpcidRoot);
FreeContextBuffer(freeAfterDecodeRpcidInfo.contextBuffer);
break;
case FREE_WHOLE_SYSCAP_AFTER_DECODE_RPCID:
cJSON_Delete(freeAfterDecodeRpcidInfo.sysCapDefine);
/* fall-through */
cJSON_Delete(freeAfterDecodeRpcidInfo.rpcidRoot);
FreeContextBuffer(freeAfterDecodeRpcidInfo.contextBuffer);
break;
case FREE_RPCID_ROOT_AFTER_DECODE_RPCID:
cJSON_Delete(freeAfterDecodeRpcidInfo.rpcidRoot);
/* fall-through */
FreeContextBuffer(freeAfterDecodeRpcidInfo.contextBuffer);
break;
case FREE_CONTEXT_OUT_AFTER_DECODE_RPCID:
default:
FreeContextBuffer(freeAfterDecodeRpcidInfo.contextBuffer);
+14 -5
View File
@@ -427,13 +427,19 @@ static int32_t FreeAfterDecodePCID(struct FreeDecodePcidJsonInfo freePcidJsonInf
switch (type) {
case FREE_DECODE_PCID_CONVERT_OUT:
free(freePcidJsonInfo.strJson);
/* fall-through */
cJSON_Delete(freePcidJsonInfo.jsonRootObj);
cJSON_Delete(freePcidJsonInfo.sysCapObj);
FreeContextBuffer(freePcidJsonInfo.contextBuffer);
break;
case FREE_DECODE_PCID_ROOT_OUT:
cJSON_Delete(freePcidJsonInfo.jsonRootObj);
/* fall-through */
cJSON_Delete(freePcidJsonInfo.sysCapObj);
FreeContextBuffer(freePcidJsonInfo.contextBuffer);
break;
case FREE_DECODE_PCID_SYSCAP_OUT:
cJSON_Delete(freePcidJsonInfo.sysCapObj);
/* fall-through */
FreeContextBuffer(freePcidJsonInfo.contextBuffer);
break;
case FREE_DECODE_PCID_CONTEXT_OUT:
default:
FreeContextBuffer(freePcidJsonInfo.contextBuffer);
@@ -722,10 +728,13 @@ static int32_t FreeAfterEncodePCID(struct FreeEncodePcidInfo freePcidInfo, int32
switch (type) {
case FREE_ENCODE_PCID_OUT:
free(freePcidInfo.output);
/* fall-through */
free(freePcidInfo.priSyscapFull);
free(freePcidInfo.contextBuffer);
break;
case FREE_ENCODE_PCID_PRISYSCAP_FULL_OUT:
free(freePcidInfo.priSyscapFull);
/* fall-through */
free(freePcidInfo.contextBuffer);
break;
case FREE_ENCODE_PCID_CONTEXT_OUT:
default:
free(freePcidInfo.contextBuffer);
+40 -16
View File
@@ -95,6 +95,11 @@ static int32_t FillOsCapLength(char *convertedBuffer, char *contextBuffer, struc
fillTmpPtr += sizeof(uint16_t);
for (uint32_t i = 0; i < sysCapSize; i++) {
arrayItemPtr = cJSON_GetArrayItem(gJsonObjectSysCap.sysCapPtr, (int)i);
if (arrayItemPtr->valuestring == NULL) {
PRINT_ERR("arrayItemPtr->valuestring is NULL\n");
return -1;
}
char *pointPos = strchr(arrayItemPtr->valuestring, '.');
if (pointPos == NULL) {
PRINT_ERR("context of \"syscap\" array is invalid\n");
@@ -287,10 +292,19 @@ static int SetOsSysCapBitMap(uint8_t *out, uint16_t outLen, const uint16_t *inde
return 0;
}
static int32_t PrintOutputToFile(struct FreeAfterEncodeRpcidscInfo freeAfterEncodeRpcidscInfo, uint16_t outBufferLen,
static int32_t PrintOutputToFile(struct FreeAfterEncodeRpcidscInfo freeAfterEncodeRpcidscInfo,
uint32_t outUint[RPCID_OUT_BUFFER], uint16_t indexPri, char *outDirPath)
{
int32_t ret = 0;
uint16_t outBufferLen = U32_TO_STR_MAX_LEN * RPCID_OUT_BUFFER + SINGLE_SYSCAP_LEN * indexPri;
freeAfterEncodeRpcidscInfo.outBuffer = (char *)malloc(outBufferLen);
if (freeAfterEncodeRpcidscInfo.outBuffer == NULL) {
PRINT_ERR("malloc(%u) failed.\n", outBufferLen);
freeAfterEncodeRpcidscInfo.flag = 1;
return ret;
}
freeAfterEncodeRpcidscInfo.type = FREE_OUTBUFFER_AFTER_RPCIDSC;
(void)memset_s(freeAfterEncodeRpcidscInfo.outBuffer, outBufferLen, 0, outBufferLen);
ret = sprintf_s(freeAfterEncodeRpcidscInfo.outBuffer, outBufferLen, "%u", outUint[0]);
@@ -354,8 +368,11 @@ static int32_t OutputSetMemAndPrintToFile(struct FreeAfterEncodeRpcidscInfo free
uint16_t indexOs = 0;
for (int i = 0; i < sysCapArraySize; i++) {
cJSON *cJsonItem = cJSON_GetArrayItem(sysCapArray, i);
if (cJsonItem->valuestring == NULL) {
continue;
}
cJsonTemp = cJSON_GetObjectItem(freeAfterEncodeRpcidscInfo.sysCapDefine, cJsonItem->valuestring);
if (cJsonTemp != NULL) {
if (cJsonTemp != NULL && cJSON_IsNumber(cJsonTemp)) {
freeAfterEncodeRpcidscInfo.osSysCapIndex[indexOs++] = (uint16_t)(cJsonTemp->valueint);
} else {
ret = strcpy_s(priSyscap, SINGLE_SYSCAP_LEN, cJsonItem->valuestring);
@@ -378,15 +395,7 @@ static int32_t OutputSetMemAndPrintToFile(struct FreeAfterEncodeRpcidscInfo free
freeAfterEncodeRpcidscInfo.flag = 1;
return ret;
}
uint16_t outBufferLen = U32_TO_STR_MAX_LEN * RPCID_OUT_BUFFER + SINGLE_SYSCAP_LEN * indexPri;
freeAfterEncodeRpcidscInfo.outBuffer = (char *)malloc(outBufferLen);
if (freeAfterEncodeRpcidscInfo.outBuffer == NULL) {
PRINT_ERR("malloc(%u) failed.\n", outBufferLen);
freeAfterEncodeRpcidscInfo.flag = 1;
return ret;
}
return PrintOutputToFile(freeAfterEncodeRpcidscInfo, outBufferLen, outUint, indexPri, outDirPath);
return PrintOutputToFile(freeAfterEncodeRpcidscInfo, outUint, indexPri, outDirPath);
}
static int32_t FreeAfterEncodeRpcidsc(struct FreeAfterEncodeRpcidscInfo freeAfterEncodeRpcidscInfo, int32_t type,
@@ -395,19 +404,34 @@ static int32_t FreeAfterEncodeRpcidsc(struct FreeAfterEncodeRpcidscInfo freeAfte
switch (type) {
case FREE_OUTBUFFER_AFTER_RPCIDSC:
free(freeAfterEncodeRpcidscInfo.outBuffer);
/* fall-through */
free(freeAfterEncodeRpcidscInfo.priSyscapArray);
free(freeAfterEncodeRpcidscInfo.osSysCapIndex);
cJSON_Delete(freeAfterEncodeRpcidscInfo.sysCapDefine);
cJSON_Delete(freeAfterEncodeRpcidscInfo.rpcidRoot);
FreeContextBuffer(freeAfterEncodeRpcidscInfo.contextBuffer);
break;
case FREE_MALLOC_RPISYSCAP_AFTER_RPCIDSC:
free(freeAfterEncodeRpcidscInfo.priSyscapArray);
/* fall-through */
free(freeAfterEncodeRpcidscInfo.osSysCapIndex);
cJSON_Delete(freeAfterEncodeRpcidscInfo.sysCapDefine);
cJSON_Delete(freeAfterEncodeRpcidscInfo.rpcidRoot);
FreeContextBuffer(freeAfterEncodeRpcidscInfo.contextBuffer);
break;
case FREE_MALLOC_OSSYSCAP_AFTER_RPCIDSC:
free(freeAfterEncodeRpcidscInfo.osSysCapIndex);
/* fall-through */
cJSON_Delete(freeAfterEncodeRpcidscInfo.sysCapDefine);
cJSON_Delete(freeAfterEncodeRpcidscInfo.rpcidRoot);
FreeContextBuffer(freeAfterEncodeRpcidscInfo.contextBuffer);
break;
case FREE_WHOLE_SYSCAP_AFTER_RPCIDSC:
cJSON_Delete(freeAfterEncodeRpcidscInfo.sysCapDefine);
/* fall-through */
cJSON_Delete(freeAfterEncodeRpcidscInfo.rpcidRoot);
FreeContextBuffer(freeAfterEncodeRpcidscInfo.contextBuffer);
break;
case FREE_RPCID_ROOT_AFTER_RPCIDSC:
cJSON_Delete(freeAfterEncodeRpcidscInfo.rpcidRoot);
/* fall-through */
FreeContextBuffer(freeAfterEncodeRpcidscInfo.contextBuffer);
break;
case FREE_CONTEXT_OUT_AFTER_RPCIDSC:
default:
FreeContextBuffer(freeAfterEncodeRpcidscInfo.contextBuffer);