diff options
Diffstat (limited to 'src/nSocket/nstack/nstack_info_parse.c')
-rw-r--r-- | src/nSocket/nstack/nstack_info_parse.c | 48 |
1 files changed, 40 insertions, 8 deletions
diff --git a/src/nSocket/nstack/nstack_info_parse.c b/src/nSocket/nstack/nstack_info_parse.c index 04abb4e..8b2d62f 100644 --- a/src/nSocket/nstack/nstack_info_parse.c +++ b/src/nSocket/nstack/nstack_info_parse.c @@ -66,8 +66,14 @@ } \ else \ { \ - NSSOC_LOGERR("can't get obj from %s index:%d", name, (index)); \ - goto RETURN_ERROR; \ + if (strcmp(name, "deploytype") == 0 || strcmp(name, "stackid") == 0) \ + { \ + NSSOC_LOGERR("can't get obj from %s index:%d", name, (index)); \ + } \ + else\ + { \ + NSSOC_LOGWAR("can't get obj from %s index:%d", name, (index)); \ + } \ } \ } while ( 0 ); @@ -85,6 +91,7 @@ nstack_parse_module_cfg_json (char *param) int ret = NSTACK_RETURN_FAIL; int index = 0; int icnt = 0; + int ret_val; if (!obj) { @@ -125,10 +132,21 @@ nstack_parse_module_cfg_json (char *param) NSTACK_JSON_PARSE_STRING (module_obj, "stack_name", MODULE_NAME_MAX, &(g_nstack_module_desc[icnt].modName[0]), index); - NSTACK_JSON_PARSE_STRING (module_obj, "function_name", - MODULE_NAME_MAX, - &(g_nstack_module_desc - [icnt].register_fn_name[0]), index); + STRCPY_S (&(g_nstack_module_desc[icnt].register_fn_name[0]), + sizeof (& + (g_nstack_module_desc[icnt].register_fn_name[0])), + &(g_nstack_module_desc[icnt].modName[0])); + ret_val = + STRCAT_S (&(g_nstack_module_desc[icnt].register_fn_name[0]), + sizeof (& + (g_nstack_module_desc[icnt].register_fn_name + [0])), "_stack_register"); + if (EOK != ret_val) + { + NSFW_LOGERR ("register_fn_name STRCAT_S failed]ret_val=%d", + ret_val); + return -1; + } NSTACK_JSON_PARSE_STRING (module_obj, "libname", MODULE_NAME_MAX, &(g_nstack_module_desc[icnt].libPath[0]), index); @@ -149,14 +167,28 @@ nstack_parse_module_cfg_json (char *param) } else { - NSSOC_LOGERR ("can't get value from loadtype index:%d", index); - goto RETURN_ERROR; + if (strcmp (g_nstack_module_desc[icnt].modName, "kernel") == 0) + { + g_nstack_module_desc[icnt].libtype = NSTACK_LIB_LOAD_STATIC; + } + else + { + g_nstack_module_desc[icnt].libtype = NSTACK_LIB_LOAD_DYN; + } + NSSOC_LOGWAR ("can't get the value of loadtype for module:%s", + g_nstack_module_desc[icnt].modName); } + NSSBR_LOGINF ("load type of %d has been chosen", + g_nstack_module_desc[icnt].libtype); NSTACK_JSON_PARSE_INT (module_obj, "deploytype", MODULE_NAME_MAX, g_nstack_module_desc[icnt].deploytype, index); NSTACK_JSON_PARSE_INT (module_obj, "maxfd", MODULE_NAME_MAX, g_nstack_module_desc[icnt].maxfdid, index); + if (g_nstack_module_desc[icnt].maxfdid == 0) + { + g_nstack_module_desc[icnt].maxfdid = 1024; + } NSTACK_JSON_PARSE_INT (module_obj, "minfd", MODULE_NAME_MAX, g_nstack_module_desc[icnt].minfdid, index); NSTACK_JSON_PARSE_INT (module_obj, "priorty", MODULE_NAME_MAX, |