mirror of
https://github.com/openharmony/developtools_syscap_codec.git
synced 2026-08-27 02:11:19 -04:00
change EncodeOsSyscap parameters.
Signed-off-by: yudechen <chenyude@huawei.com> Change-Id: I227b6b09b38dc300063b3e55e2929bd051429407
This commit is contained in:
@@ -84,12 +84,11 @@ static uint32_t GetFileContext(char **contextBufPtr, uint32_t *bufferLen)
|
||||
return 0;
|
||||
}
|
||||
|
||||
bool EncodeOsSyscap(char **output)
|
||||
bool EncodeOsSyscap(char output[128])
|
||||
{
|
||||
int32_t ret;
|
||||
int32_t res;
|
||||
char *contextBuffer = NULL;
|
||||
char *outputArray = NULL;
|
||||
uint32_t bufferLen;
|
||||
|
||||
ret = GetFileContext(&contextBuffer, &bufferLen);
|
||||
@@ -98,23 +97,14 @@ bool EncodeOsSyscap(char **output)
|
||||
return false;
|
||||
}
|
||||
|
||||
outputArray = (char *)malloc(PCID_MAIN_LEN);
|
||||
if (outputArray == NULL) {
|
||||
PRINT_ERR("malloc buffer failed, size = %d\n", PCID_MAIN_LEN);
|
||||
return false;
|
||||
}
|
||||
(void)memset_s(outputArray, PCID_MAIN_LEN, 0, PCID_MAIN_LEN);
|
||||
|
||||
res = memcpy_s(outputArray, PCID_MAIN_LEN, contextBuffer, PCID_MAIN_LEN);
|
||||
res = memcpy_s(output, PCID_MAIN_LEN, contextBuffer, PCID_MAIN_LEN);
|
||||
if (res != 0) {
|
||||
PRINT_ERR("memcpy_s failed.");
|
||||
FreeContextBuffer(contextBuffer);
|
||||
free(outputArray);
|
||||
return false;
|
||||
}
|
||||
|
||||
FreeContextBuffer(contextBuffer);
|
||||
*output = outputArray;
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@@ -25,7 +25,7 @@ extern "C" {
|
||||
#endif /* __cplusplus */
|
||||
#endif /* __cplusplus */
|
||||
|
||||
bool EncodeOsSyscap(char **output);
|
||||
bool EncodeOsSyscap(char output[128]);
|
||||
bool DecodeOsSyscap(char input[128], char (**output)[128], int *outputCnt);
|
||||
bool EncodePrivateSyscap(char **output, int *outputLen);
|
||||
bool DecodePrivateSyscap(char *input, char (**output)[128], int *outputCnt);
|
||||
|
||||
@@ -61,7 +61,7 @@ static char* getSystemCapability()
|
||||
bool retBool;
|
||||
int retError, priOutputLen, priCapArrayCnt, sumLen;
|
||||
int i = 0;
|
||||
char *osOutput = nullptr;
|
||||
char osOutput[128] = {};
|
||||
errno_t err = EOK;
|
||||
uint32_t *osCapU32 = nullptr;
|
||||
char *priOutput = nullptr;
|
||||
@@ -70,7 +70,7 @@ static char* getSystemCapability()
|
||||
char osCapArray[OS_SYSCAP_U32_NUM][U32_TO_STR_MAX_LEN] = {};
|
||||
char (*priCapArray)[SYSCAP_STR_MAX_LEN] = nullptr;
|
||||
|
||||
retBool = EncodeOsSyscap(&osOutput);
|
||||
retBool = EncodeOsSyscap(osOutput);
|
||||
if (!retBool) {
|
||||
PRINT_ERR("get encoded os syscap failed.");
|
||||
goto FREE_OSOUTPUT;
|
||||
|
||||
@@ -26,9 +26,6 @@ extern "C" {
|
||||
#endif /* __cplusplus */
|
||||
|
||||
namespace Syscap {
|
||||
int osSyscap[32] = {1, 3, 3};
|
||||
char priSyscap[] = "Device.syscap1GEDR,Device.syscap2WREGW,Vendor.syscap3RGD,Vendor.syscap4RWEG,Vendor.syscap5REWGWE,";
|
||||
|
||||
class SyscapCodecTest : public testing::Test {
|
||||
public:
|
||||
static void SetUpTestCase(void);
|
||||
|
||||
@@ -34,9 +34,8 @@ void SyscapCodecTest::TearDown() {}
|
||||
*/
|
||||
HWTEST_F(SyscapCodecTest, EncodeOsSyscap, TestSize.Level1)
|
||||
{
|
||||
char *OsInput = NULL;
|
||||
EXPECT_TRUE(EncodeOsSyscap(&OsInput));
|
||||
free(OsInput);
|
||||
char OsInput[128] = {0};
|
||||
EXPECT_TRUE(EncodeOsSyscap(OsInput));
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -59,11 +58,12 @@ HWTEST_F(SyscapCodecTest, EncodePrivateSyscap, TestSize.Level1)
|
||||
*/
|
||||
HWTEST_F(SyscapCodecTest, DecodeOsSyscap, TestSize.Level1)
|
||||
{
|
||||
int osSyscap[32] = {1, 3, 3};
|
||||
char (*osOutput)[128] = NULL;
|
||||
int decodeOsCnt;
|
||||
char expectOsOutput001[] = "SystemCapability.Account.AppAccount";
|
||||
char expectOsOutput002[] = "SystemCapability.Account.OsAccount";
|
||||
EXPECT_TRUE(DecodeOsSyscap(osSyscap, &osOutput, &decodeOsCnt));
|
||||
EXPECT_TRUE(DecodeOsSyscap((char *)osSyscap, &osOutput, &decodeOsCnt));
|
||||
char (*tmpOsOutput)[128] = osOutput;
|
||||
EXPECT_STREQ(*tmpOsOutput, expectOsOutput001);
|
||||
EXPECT_STREQ(*(tmpOsOutput + 1), expectOsOutput002);
|
||||
@@ -79,6 +79,7 @@ HWTEST_F(SyscapCodecTest, DecodeOsSyscap, TestSize.Level1)
|
||||
HWTEST_F(SyscapCodecTest, DecodePrivateSyscap, TestSize.Level1)
|
||||
{
|
||||
char (*priOutput)[128] = NULL;
|
||||
char priSyscap[] = "Device.syscap1GEDR,Device.syscap2WREGW,Vendor.syscap3RGD,Vendor.syscap4RWEG,Vendor.syscap5REWGWE,";
|
||||
int decodePriCnt;
|
||||
char expectPriOutput001[] = "SystemCapability.Device.syscap1GEDR";
|
||||
char expectPriOutput002[] = "SystemCapability.Device.syscap2WREGW";
|
||||
|
||||
Reference in New Issue
Block a user