modify config file, todo: fix over using fgets by storing temp_str in seperate strs
This commit is contained in:
parent
14f1ab7398
commit
10808df595
2
config
2
config
@ -1,3 +1,5 @@
|
|||||||
|
[APP]
|
||||||
|
Intervall = 5
|
||||||
[Host]
|
[Host]
|
||||||
Hostname = https://5ccppi.org:4433
|
Hostname = https://5ccppi.org:4433
|
||||||
[Services]
|
[Services]
|
||||||
|
56
config.c
56
config.c
@ -3,7 +3,7 @@
|
|||||||
#include<stdlib.h>
|
#include<stdlib.h>
|
||||||
#include<string.h>
|
#include<string.h>
|
||||||
|
|
||||||
int loadConfig(char *str_file, char **str_entry,char **host,int size)
|
int loadConfig(char *str_file, char **str_entry,char **host,int *intervall,int size)
|
||||||
{
|
{
|
||||||
int i=0;
|
int i=0;
|
||||||
FILE *f_config;
|
FILE *f_config;
|
||||||
@ -16,19 +16,32 @@ int loadConfig(char *str_file, char **str_entry,char **host,int size)
|
|||||||
while(fgets(temp_str,256,f_config)!=NULL)
|
while(fgets(temp_str,256,f_config)!=NULL)
|
||||||
{
|
{
|
||||||
temp_str[strcspn(temp_str,"\n")]=0;
|
temp_str[strcspn(temp_str,"\n")]=0;
|
||||||
|
printf("first temp_str:%s\n",temp_str);
|
||||||
if(strcmp(temp_str,"[Host]")==0)
|
if(strcmp(temp_str,"[Host]")==0)
|
||||||
{
|
{
|
||||||
if(fgets(temp_str,256,f_config)!=NULL)
|
printf("temp_str host:%s\n",temp_str);
|
||||||
|
while(fgets(temp_str,256,f_config)!=NULL)
|
||||||
{
|
{
|
||||||
char *ptr_host = strrchr(temp_str,'=')+1;//Without =
|
printf("temp_str:%s\n",temp_str);
|
||||||
ptr_host[strcspn(ptr_host,"\n")]=0;
|
if(strchr(temp_str,'[')==NULL)
|
||||||
while(ptr_host[0]==' ')
|
|
||||||
{
|
{
|
||||||
ptr_host = ptr_host + 1;
|
printf("strchr\n");
|
||||||
|
if(strstr(temp_str,"Hostname")!=NULL)
|
||||||
|
{
|
||||||
|
char *ptr_host = strrchr(temp_str,'=')+1;//Without =
|
||||||
|
ptr_host[strcspn(ptr_host,"\n")]=0;
|
||||||
|
while(ptr_host[0]==' ')
|
||||||
|
{
|
||||||
|
ptr_host = ptr_host + 1;
|
||||||
|
}
|
||||||
|
*host = strdup(ptr_host);
|
||||||
|
printf("my host is:%s\n",*host);
|
||||||
|
}else{
|
||||||
|
fprintf(stderr,"keyword Hostname not found in config");
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
*host = strdup(ptr_host);
|
|
||||||
//strncpy(host,ptr_host,256);
|
|
||||||
printf("my host is:%s\n",*host);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if(strcmp(temp_str,"[Services]")==0)
|
else if(strcmp(temp_str,"[Services]")==0)
|
||||||
@ -51,7 +64,30 @@ int loadConfig(char *str_file, char **str_entry,char **host,int size)
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
break;
|
break;
|
||||||
fclose(f_config);
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if(strcmp(temp_str,"[APP]")==0)
|
||||||
|
{
|
||||||
|
while(fgets(temp_str,256,f_config)!=NULL)
|
||||||
|
{
|
||||||
|
if(strchr(temp_str,'[')==NULL)
|
||||||
|
{
|
||||||
|
if(strstr(temp_str,"Intervall")!=NULL)
|
||||||
|
{
|
||||||
|
char *ptr_intervall = strrchr(temp_str,'=')+1;//Without =
|
||||||
|
ptr_intervall[strcspn(ptr_intervall,"p\n")]=0;
|
||||||
|
while(ptr_intervall[0]==' ')
|
||||||
|
{
|
||||||
|
ptr_intervall = ptr_intervall + 1;
|
||||||
|
}
|
||||||
|
*intervall = atoi(ptr_intervall);
|
||||||
|
printf("intervall:%d\n",*intervall);
|
||||||
|
}else{
|
||||||
|
fprintf(stderr,"keyword Intervall not found in config");
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
2
config.h
2
config.h
@ -1,2 +1,2 @@
|
|||||||
|
|
||||||
int loadConfig(char *file, char **str_entry,char **host,int size);
|
int loadConfig(char *file, char **str_entry,char **host,int *intervall,int size);
|
||||||
|
26
main.c
26
main.c
@ -36,13 +36,19 @@ int getPath(char *configPath,int size);
|
|||||||
//gotify_message("https://5ccppi.org:4433/message?token=","anothertitle","anothermessage");
|
//gotify_message("https://5ccppi.org:4433/message?token=","anothertitle","anothermessage");
|
||||||
* */
|
* */
|
||||||
|
|
||||||
|
|
||||||
int main(int argc,char *argv[])
|
int main(int argc,char *argv[])
|
||||||
{
|
{
|
||||||
DBusConnection *connection=NULL;
|
DBusConnection *connection=NULL;
|
||||||
DBusError error;
|
DBusError error;
|
||||||
clock_t time;
|
clock_t time;
|
||||||
|
|
||||||
|
char *str_entry[64]={'\0'};
|
||||||
|
char *host=NULL;
|
||||||
|
int i=0;
|
||||||
|
int intervall=10;
|
||||||
|
Service services[64]={'\0'};
|
||||||
|
char *ptr_name=NULL;
|
||||||
|
char path[256];
|
||||||
|
|
||||||
time = clock();
|
time = clock();
|
||||||
|
|
||||||
@ -87,11 +93,8 @@ int main(int argc,char *argv[])
|
|||||||
{
|
{
|
||||||
if(argc==3 && strcmp(argv[2],"-d")!=0)
|
if(argc==3 && strcmp(argv[2],"-d")!=0)
|
||||||
{
|
{
|
||||||
char *str_entry[64]={'\0'};
|
loadConfig(argv[2],str_entry,&host,&intervall,64);
|
||||||
char *host=NULL;
|
printf("[main]intervall:%d\n",intervall);
|
||||||
int i=0;
|
|
||||||
|
|
||||||
loadConfig(argv[2],str_entry,&host,64);
|
|
||||||
for(i=0;str_entry[i];i++)
|
for(i=0;str_entry[i];i++)
|
||||||
{
|
{
|
||||||
printf("entry in config:%s\n",str_entry[i]);
|
printf("entry in config:%s\n",str_entry[i]);
|
||||||
@ -101,18 +104,13 @@ int main(int argc,char *argv[])
|
|||||||
else if(argc==3 && strcmp(argv[2],"-d")==0)
|
else if(argc==3 && strcmp(argv[2],"-d")==0)
|
||||||
{
|
{
|
||||||
printf("Running as a daemon\n");
|
printf("Running as a daemon\n");
|
||||||
char *str_entry[64]={'\0'};
|
|
||||||
int i=0;
|
|
||||||
Service services[64]={'\0'};
|
|
||||||
char *ptr_name=NULL;
|
|
||||||
char path[256];
|
|
||||||
char *host=NULL;
|
|
||||||
|
|
||||||
getPath(path,256);
|
getPath(path,256);
|
||||||
printf("[main]configPath:%s\n",path);
|
printf("[main]configPath:%s\n",path);
|
||||||
|
|
||||||
loadConfig(path,str_entry,&host,64);
|
loadConfig(path,str_entry,&host,&intervall,64);
|
||||||
printf("[main]host:%s\n",host);
|
printf("[main]host:%s\n",host);
|
||||||
|
printf("[main]intervall:%d\n",intervall);
|
||||||
for(i=0;str_entry[i];i++)
|
for(i=0;str_entry[i];i++)
|
||||||
{
|
{
|
||||||
services[i].targetPath = strdup(str_entry[i]);
|
services[i].targetPath = strdup(str_entry[i]);
|
||||||
@ -140,7 +138,7 @@ int main(int argc,char *argv[])
|
|||||||
printf("entry in config:%s\n",services[i].name);
|
printf("entry in config:%s\n",services[i].name);
|
||||||
ServiceGetSendStatus(connection,&services[i]);
|
ServiceGetSendStatus(connection,&services[i]);
|
||||||
}
|
}
|
||||||
sleep(10);
|
sleep(intervall);
|
||||||
}
|
}
|
||||||
}else
|
}else
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user