add function get_time_item_from_conf_ex
parent
e96127a040
commit
89c68e11db
3
HISTORY
3
HISTORY
|
|
@ -1,4 +1,7 @@
|
||||||
|
|
||||||
|
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()
|
||||||
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,
|
||||||
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,
|
||||||
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);
|
||||||
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
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue