doc/ini_file_reader-Chinese.md beautify

master
YuQing 2026-07-15 11:55:03 +08:00
parent d21a95b02e
commit 7b06207f6f
2 changed files with 19 additions and 15 deletions

View File

@ -10,28 +10,31 @@ libfastcommon是在github开源的⼀个C函数库。它提供了ini⽂件解析
## ini_file_reader的主要特点 ## ini_file_reader的主要特点
### 1、⽀持section ### 1、⽀持section
例如:
``` ```
例如: [workers] [workers]
threads = 4
# 其他配置项
``` ```
### 2、⼀个配置项可以出现多次 ### 2、⼀个配置项可以出现多次
通过iniGetValues或者iniGetValuesEx获取。例如
``` ```
通过iniGetValues或者iniGetValuesEx获取。例如 tracker_server = 172.16.168.10
tracker_server = ip1 tracker_server = 172.16.168.11
tracker_server = ip2
``` ```
### 3、 #include指令包含其他配置⽂件 ### 3、 #include指令包含其他配置⽂件
可以包含本地配置⽂件也可以包含URL目前仅⽀持HTTP。例如
``` ```
可以包含本地⽂件也可以包含URL目前仅⽀持HTTP。例如 #include http.conf
#include http.conf
``` ```
### 4、 #@function指令⽀持标注 ### 4、 #@function指令⽀持标注
配置项的取值为扩展(外部)动态库的返回值。
⽀持三个内置标注:
``` ```
配置项的取值为扩展(外部)动态库的返回值
V1.39⽀持三个内置标注:
I. LOCAL_IP_GET [inner | private | outer | public] 获取本机IP地址 I. LOCAL_IP_GET [inner | private | outer | public] 获取本机IP地址
inner或private表示获取内网IPouter或public表示获取外网IP inner或private表示获取内网IPouter或public表示获取外网IP
[index]表示获取指定序号的本机IP0表示获取第一个IP-1表示获取最后一个IP [index]表示获取指定序号的本机IP0表示获取第一个IP-1表示获取最后一个IP
@ -41,8 +44,8 @@ libfastcommon是在github开源的⼀个C函数库。它提供了ini⽂件解析
可以引用环境变量,格式为 %{env::VARIABLE},例如 %{env::FASTDFS_IPADDR} 可以引用环境变量,格式为 %{env::VARIABLE},例如 %{env::FASTDFS_IPADDR}
``` ```
```
配置⽰例: 配置⽰例:
```
#@function SHELL_EXEC #@function SHELL_EXEC
host = hostname host = hostname
@ -58,12 +61,14 @@ libfastcommon是在github开源的⼀个C函数库。它提供了ini⽂件解析
### 5、 #@add_annotation 扩展#@function标签 ### 5、 #@add_annotation 扩展#@function标签
```
格式: 格式:
```
#@add_annotation <function> <动态库文件名> [参数1, 参数2, ...] #@add_annotation <function> <动态库文件名> [参数1, 参数2, ...]
```
参数个数0到3个。 参数个数0到3个。
使用libshmcache扩展标签CONFIG_GET示例 使用libshmcache扩展标签CONFIG_GET示例
```
#@add_annotation CONFIG_GET /usr/lib/libshmcache.so /etc/libshmcache.conf #@add_annotation CONFIG_GET /usr/lib/libshmcache.so /etc/libshmcache.conf
#@function CONFIG_GET #@function CONFIG_GET

View File

@ -375,20 +375,19 @@ static char *doReplaceVars(IniContext *pContext, const char *param,
} else { } else {
value = NULL; value = NULL;
} }
if (value != NULL) { if (value != NULL) {
len = strlen(value); len = strlen(value);
} } else {
else {
logWarning("file: "__FILE__", line: %d, " logWarning("file: "__FILE__", line: %d, "
"name: %s NOT found, keep the origin", "variable \"%s\" NOT found, keep the origin",
__LINE__, name); __LINE__, name);
value = start - 2; value = start - 2;
len = p - value; len = p - value;
} }
pDest += iniCopyBuffer(pDest, FAST_INI_ITEM_VALUE_SIZE - pDest += iniCopyBuffer(pDest, FAST_INI_ITEM_VALUE_SIZE -
(pDest - output), value, len); (pDest - output), value, len);
} } else {
else {
if (pDest - output < FAST_INI_ITEM_VALUE_LEN) { if (pDest - output < FAST_INI_ITEM_VALUE_LEN) {
*pDest++ = *p++; *pDest++ = *p++;
} }