diff --git a/services/include/param/param.h b/services/include/param/param.h index 7a57bf0006314b27998ec6e70c11586e216fa0a1..f19488a3aeaab8944dccb73341bd50ab395d0e56 100755 --- a/services/include/param/param.h +++ b/services/include/param/param.h @@ -28,6 +28,7 @@ extern "C" { #define PARAM_VALUE_LEN_MAX 96 #define PARAM_NAME_LEN_MAX 96 typedef uint32_t ParamHandle; +typedef void * ParamContextPtr; typedef enum { PARAM_CODE_ERROR = -1, diff --git a/services/include/param/sys_param.h b/services/include/param/sys_param.h index 970898197619a8257d7f8e2784ed20e1ceebf35a..e58854b39668c023a591a16a23a11dfe7e4bb92d 100644 --- a/services/include/param/sys_param.h +++ b/services/include/param/sys_param.h @@ -65,7 +65,8 @@ int SystemGetParameterCommitId(ParamHandle handle, uint32_t *commitId); * 遍历参数。 * */ -int SystemTraversalParameter(void (*traversalParameter)(ParamHandle handle, void* cookie), void* cookie); +int SystemTraversalParameter( + void (*traversalParameter)(ParamHandle handle, ParamContextPtr cookie), ParamContextPtr cookie); /** * 外部接口 diff --git a/services/param/client/param_request.c b/services/param/client/param_request.c index 24c5ab9759c6341c2dbb8b01957a372700ce4af4..557a690ffb62a96ce805c354f67e42bdb5312379 100644 --- a/services/param/client/param_request.c +++ b/services/param/client/param_request.c @@ -274,7 +274,8 @@ int SystemGetParameterValue(ParamHandle handle, char *value, unsigned int *len) return ReadParamValue(&g_clientSpace.paramSpace, handle, value, len); } -int SystemTraversalParameter(void (*traversalParameter)(ParamHandle handle, void *cookie), void *cookie) +int SystemTraversalParameter( + void (*traversalParameter)(ParamHandle handle, ParamContextPtr cookie), ParamContextPtr cookie) { InitParamClient(); PARAM_CHECK(traversalParameter != NULL, return -1, "The param is null"); diff --git a/services/param/include/param_manager.h b/services/param/include/param_manager.h index c14c4ba261d40c0a394e143e4b7f7dea3de0b69e..30f5f7eaabb39f0af0bf5e42ac1022ab163696b6 100644 --- a/services/param/include/param_manager.h +++ b/services/param/include/param_manager.h @@ -63,12 +63,12 @@ int CheckParamName(const char *name, int paramInfo); int CheckParamPermission(const ParamWorkSpace *workSpace, const ParamSecurityLabel *srcLabel, const char *name, uint32_t mode); -typedef void (*TraversalParamPtr)(ParamHandle handle, void *context); +typedef void (*TraversalParamPtr)(ParamHandle handle, ParamContextPtr context); typedef struct { TraversalParamPtr traversalParamPtr; - void *context; + ParamContextPtr context; } ParamTraversalContext; -int TraversalParam(const ParamWorkSpace *workSpace, TraversalParamPtr walkFunc, void *cookie); +int TraversalParam(const ParamWorkSpace *workSpace, TraversalParamPtr walkFunc, ParamContextPtr cookie); ParamWorkSpace *GetParamWorkSpace(void); ParamWorkSpace *GetClientParamWorkSpace(void); diff --git a/services/param/manager/param_manager.c b/services/param/manager/param_manager.c index abd7372b182baa0ee99d7cd7aceca72c3959a806..962ca02537e5ee763da81eb6d11e7191cbb93d2d 100644 --- a/services/param/manager/param_manager.c +++ b/services/param/manager/param_manager.c @@ -204,7 +204,7 @@ static int ProcessParamTraversal(const WorkSpace *workSpace, const ParamTrieNode return 0; } -int TraversalParam(const ParamWorkSpace *workSpace, TraversalParamPtr walkFunc, void *cookie) +int TraversalParam(const ParamWorkSpace *workSpace, TraversalParamPtr walkFunc, ParamContextPtr cookie) { PARAM_CHECK(workSpace != NULL && walkFunc != NULL, return PARAM_CODE_INVALID_PARAM, "Invalid param"); ParamTraversalContext context = { diff --git a/services/param/manager/param_utils.c b/services/param/manager/param_utils.c index 58154227b07c5f19b550fcc2ff47d9d87b88efbb..77b34a0c542a993d58092d4cf430c23428dbeb50 100755 --- a/services/param/manager/param_utils.c +++ b/services/param/manager/param_utils.c @@ -114,7 +114,7 @@ static void TrimString(char *string, uint32_t currLen) int GetSubStringInfo(const char *buff, uint32_t buffLen, char delimiter, SubStringInfo *info, int subStrNumber) { - PARAM_CHECK(buff == NULL && info == NULL, return 0, "Invalid buff"); + PARAM_CHECK(buff != NULL && info != NULL, return 0, "Invalid buff"); size_t i = 0; // 去掉开始的空格 for (; i < strlen(buff); i++) {