【 在 fanci 的大作中提到: 】
: 这也太粗放了吧……
这就是我的配置系统。
不需要特定的config结构。使用者直接从环境变量取。
配置文件:
#SENDSIZE=1500
#服务器守候端口
SERVICE=11655
#认证服务器
CA_D_NODE=1
使用:
p=getenv("SERVICE");
if(!p || !*p) {
ShowLog(1,"缺少环境变量 SERVICE ,不知守候哪个端口!");
quit(3);
}
//测试端口是否被占用
sock=tcpopen("localhost",p);
if(sock>-1) {
ShowLog(1,"端口 %s 已经被占用",p);
close(sock);
sock=-1;
quit(255);
}
完整的配置程序:
if(fname && NULL != (fd=fopen(fname,"r"))) {
err=0;
while(!ferror(fd)){
fgets(buffer,sizeof(buffer),fd);
if(feof(fd)) break;
TRIM(buffer);
i=skipblk(buffer)-buffer;
strsubst(buffer,i,(char *)0);
if(!*buffer || *buffer=='#') continue;
i=substitute_env(buffer);
if(i) {
fprintf(stderr,"%s",buffer);
fclose(fd);
reg_free();
return i;
}
#ifdef WIN32
putenv(buffer);
#else
cp=strdup(buffer);
putenv(cp);
#endif
}
reg_free();
fclose(fd);
--
修改:ylh1969 FROM 123.119.174.*
FROM 123.119.174.*