提交 89c68e11 编写于 作者: Y YuQing

add function get_time_item_from_conf_ex

上级 e96127a0
Version 1.46 2020-12-28
* add function get_time_item_from_conf_ex
Version 1.45 2020-12-24 Version 1.45 2020-12-24
* add function uniq_skiplist_find_node_ex * add function uniq_skiplist_find_node_ex
* use readdir instead of readdir_r in Linux * use readdir instead of readdir_r in Linux
......
...@@ -2220,8 +2220,20 @@ int set_rand_seed() ...@@ -2220,8 +2220,20 @@ int set_rand_seed()
return 0; return 0;
} }
int get_time_item_from_conf(IniContext *pIniContext, \ int get_time_item_from_conf_ex(IniFullContext *ini_ctx,
const char *item_name, TimeInfo *pTimeInfo, \ const char *item_name, TimeInfo *pTimeInfo,
const byte default_hour, const byte default_minute,
const bool bRetryGlobal)
{
char *pValue;
pValue = iniGetStrValueEx(ini_ctx->section_name, item_name,
ini_ctx->context, bRetryGlobal);
return get_time_item_from_str(pValue, item_name, pTimeInfo,
default_hour, default_minute);
}
int get_time_item_from_conf(IniContext *pIniContext,
const char *item_name, TimeInfo *pTimeInfo,
const byte default_hour, const byte default_minute) const byte default_hour, const byte default_minute)
{ {
char *pValue; char *pValue;
...@@ -2251,8 +2263,8 @@ int get_time_item_from_str(const char *pValue, const char *item_name, ...@@ -2251,8 +2263,8 @@ int get_time_item_from_str(const char *pValue, const char *item_name,
count = sscanf(pValue, "%d:%d:%d", &hour, &minute, &second); count = sscanf(pValue, "%d:%d:%d", &hour, &minute, &second);
if (count != 2 && count != 3) if (count != 2 && count != 3)
{ {
logError("file: "__FILE__", line: %d, " \ logError("file: "__FILE__", line: %d, "
"item \"%s\" 's value \"%s\" is not an valid time", \ "item \"%s\" 's value \"%s\" is not an valid time",
__LINE__, item_name, pValue); __LINE__, item_name, pValue);
return EINVAL; return EINVAL;
} }
...@@ -2260,8 +2272,8 @@ int get_time_item_from_str(const char *pValue, const char *item_name, ...@@ -2260,8 +2272,8 @@ int get_time_item_from_str(const char *pValue, const char *item_name,
if ((hour < 0 || hour > 23) || (minute < 0 || minute > 59) if ((hour < 0 || hour > 23) || (minute < 0 || minute > 59)
|| (second < 0 || second > 59)) || (second < 0 || second > 59))
{ {
logError("file: "__FILE__", line: %d, " \ logError("file: "__FILE__", line: %d, "
"item \"%s\" 's value \"%s\" is not an valid time", \ "item \"%s\" 's value \"%s\" is not an valid time",
__LINE__, item_name, pValue); __LINE__, item_name, pValue);
return EINVAL; return EINVAL;
} }
......
...@@ -519,6 +519,22 @@ void set_log_level(char *pLogLevel); ...@@ -519,6 +519,22 @@ void set_log_level(char *pLogLevel);
int load_allow_hosts(IniContext *pIniContext, \ int load_allow_hosts(IniContext *pIniContext, \
in_addr_t **allow_ip_addrs, int *allow_ip_count); in_addr_t **allow_ip_addrs, int *allow_ip_count);
/** get time item from config context
* parameters:
* ini_ctx: the full ini context
* item_name: item name in config file, time format as hour:minute, such as 15:25
* pTimeInfo: store time info
* default_hour: default hour value
* default_minute: default minute value
* bRetryGlobal: if fetch from global section when the item not exist
* return: error no , 0 success, != 0 fail
*/
int get_time_item_from_conf_ex(IniFullContext *ini_ctx,
const char *item_name, TimeInfo *pTimeInfo,
const byte default_hour, const byte default_minute,
const bool bRetryGlobal);
/** get time item from config context /** get time item from config context
* parameters: * parameters:
* pIniContext: the config context * pIniContext: the config context
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册