|
2010-03-17 16:40:581718
|
c ¿¡¼ ini Àбâ ÇÔ¼ö±¸Çö |
|
È£¼®
|
|
|
c ¿¡¼ ini Àбâ
ÇÔ¼ö±¸Çö
>>> daemon.ini
[POSMAST]
port_no=33001
maxfork=40
logpath=/home/../poscomm/log
[POSSALER]
port_no=33002
maxfork=40
datapath=/home/../poscomm/data
backpath=/home/../poscomm/data/sale
logpath=/home/../poscomm/log
[POSSALEU]
datapath=/home/../poscomm/data
backpath=/home/../poscomm/data/sale
logpath=/home/../poscomm/log
runcycle=3
>>> Çì´õÆÄÀÏ
#define INIFILE "daemon.ini" /* ȯ°æ ¼³Á¤ INI */
#define NPHOME getenv("NPHOME") /* HOME µð·ºÅ丮 */
#define DAEMON_NAME "POSMAST"
>>> ¼Ò½º
>>>>
/*------------------------------------------------------------------------*/
/*----- INIÈÀÏ READ */
/*------------------------------------------------------------------------*/
/*-INI ÆÄÀÏ °æ·Î ¼³Á¤-*/
snprintf(ini_path, sizeof(ini_path), "%s/bin/%s", NPHOME, INIFILE);
memset(port_no,0x00,sizeof(port_no));
if (get_inifile(ini_path, DAEMON_NAME, "port_no", port_no, sizeof(port_no)) == FALSE){
printf("ȯ°æÆÄÀÏ[%s] ¿À·ù => [%s]ÀÇ port_no¸¦ È®ÀÎÇϽʽÿä.\n", ini_path, DAEMON_NAME);
exit(1);
}
/******************************************************************************/
/* INI FILE READ */
/******************************************************************************/
int get_inifile(cFileName, cSetionName, cKeyName, cReturned, size)
char* cFileName;
char* cSetionName;
char* cKeyName;
char* cReturned;
int size;
{
char cprobuff[BUFF_SIZE];
FILE *fp_file;
/*** ȯ°æÈÀÏ ¿±â ***/
if((fp_file = fopen(cFileName, "r")) == NULL){
fclose(fp_file);
return FALSE;
}
while(1) {
memset(cprobuff, 0x00, sizeof (cprobuff));
if(fgets(cprobuff,BUFF_SIZE, fp_file) == NULL) {/* File Á¤º¸ Àбâ */
fclose(fp_file);
return FALSE;
}
else{
cprobuff[strlen(cprobuff)] = '\0';
/* Section¸í °Ë»ç*/
if (cprobuff[0] == '[' && memcmp(&cprobuff[1], cSetionName, strlen(cSetionName)) == 0
&& cprobuff[strlen(cSetionName)+1] == ']') {
while(1) {/* File Á¤º¸ Àбâ*/
memset (cprobuff, '\0', sizeof (cprobuff));
if(fgets(cprobuff, BUFF_SIZE, fp_file) == NULL) {
fclose(fp_file);
return FALSE;
}
else {
cprobuff[strlen(cprobuff)] = '\0';
/* ´Ù¸¥ Section*/
if (cprobuff[0] == '[') {
fclose(fp_file);
return FALSE;
}
/* Key °Ë»ç */
if (memcmp(cprobuff, cKeyName, strlen(cKeyName)) == 0
&& cprobuff[strlen(cKeyName)] == '=') {
memset (cReturned, '\0', size);
memcpy (&cReturned[0], &cprobuff[strlen(cKeyName)+1],
(int)(strlen(cprobuff) - strlen(cKeyName) - 2));
cReturned[(int)(strlen(cprobuff) - strlen(cKeyName) - 2)]= 0x00;
fclose(fp_file);
return TRUE;
}
}
}/* End of while(1) */
}
}
}/* End of while(1) { */
fclose(fp_file);
return FALSE;
|
|
|
|
|