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

View File

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