📄 parseconf.h
字号:
/* ReplaceChr
* replaces all occourences of a char(bus) with sub
* string = "test" bus='s' sub='x' => "text"
*/
int ReplaceChr(char* string, char bus, char sub)
{
int i;
for(i=0;i<(signed)strlen(string);i++)
{
if(string[i]==bus)
string[i]=sub;
}
return 1;
}
int GetSubNodes()
{
FILE* fConf;
char sLine[105];
int iLine;
char host[50];
char port[10];
struct hostent *gAddr;
char* strToken;
fConf=fopen("subnodes.conf","r");
if(fConf==NULL)
return 0;
iLine = subNodesStruct.saddrElements = 0;
while(!feof(fConf))
{
memset(sLine,0,sizeof(sLine));
fgets(sLine,100,fConf);
iLine++;
if(sLine[0]=='#' || sLine[0]=='\r' || sLine[0]=='\n' || sLine[0]==0)
continue;
if(strchr(sLine,':') == NULL)
continue;
ReplaceChr(sLine,'\r','\0');
ReplaceChr(sLine,'\n','\0');
if( sLine[0] == 's' && sLine[1] == '=' )
{
memset(host,0,50);
strncpy(host, sLine+2, (strchr(sLine,':')-sLine-2) );
strcpy(port, strchr(sLine,':') + 1);
/* aggiungi alla lista degli indirizzi */
if((gAddr=gethostbyname(host))==0)
continue;
subNodesStruct.saddrSubNodes[subNodesStruct.saddrElements].sin_addr.s_addr=((struct in_addr *)(gAddr->h_addr))->s_addr;
subNodesStruct.saddrSubNodes[subNodesStruct.saddrElements].sin_family = AF_INET;
subNodesStruct.saddrSubNodes[subNodesStruct.saddrElements].sin_port = htons((unsigned short int) atoi(port) );
subNodesStruct.saddrElements++;
}
else if( sLine[0] == 'm' && sLine[1] == '=' )
{
strToken = strtok(sLine+2,":");
strcpy( glMysqlHost, strToken );
strToken = strtok(NULL ,":");
strcpy( glMysqlPort, strToken );
strToken = strtok(NULL ,":");
strcpy( glMysqlUser, strToken );
strToken = strtok(NULL ,":");
strcpy( glMysqlPass, strToken );
strToken = strtok(NULL ,":");
strcpy( glMysqlDB, strToken );
}
}
fclose(fConf);
return 1;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -