idealvin / coost

A tiny boost library in C++11.
Other
3.91k stars 558 forks source link

mkconf 导出参数默认值带有“//”时的问题 #339

Closed lzhkui closed 11 months ago

lzhkui commented 11 months ago

代码示例

// xxx.cpp
DEF_string(jwt_issuer, "http://www.example.cn", "jwt issuer");
... ...

// mkconf生成的xxx.conf 如下
# jwt issuer
jwt_issuer = http://www.example.cn
... ...

如上示例,参数的默认值含有 //,flag解析结果只保留了http:,我没具体查代码,但是后面的应该是被当作注释省略了

解决方法

一个可选的解决方法是,在mkconf生成配置参数时,对含有 注释符 的默认值,增加双引号包裹,如下所示,

# jwt issuer
jwt_issuer = "http://www.example.cn"

加上双引号后,测试是可以完整解析的

附截图

错误结果

image

正确结果

image

idealvin commented 11 months ago

@lzhkui
感谢指出,已经提交修复了,可以试试

lzhkui commented 11 months ago

赞👍