This commit is contained in:
biosvos
2026-08-07 17:38:18 +09:00
commit 873193a243
9613 changed files with 2755992 additions and 0 deletions
@@ -0,0 +1,43 @@
#library directory
LIBDIR = -L/usr/local/lib -L/usr/lib\
-lcom
INCLUDEDIR = -I./include\
-I/usr/local/include
CC = gcc
CFLAGS = -g -Wall
#CFLAGS = -O -Wall
#link option
LFLAGS =
#Definition flag
#DFLAGS = -D__DEBUG__
#DFLAGS = -D__RELEASE__
#install directory
INSTALLDIR = ../../../lib/
# Source List
SRC = ReadConfig.c cfgconfig.h
# Object List
OBJ = ReadConfig.o
TARGET = libreadconfig.a
.SUFFIXES: .c .o .h
.c.o : ${SRC}
${CC} $(CFLAGS) $(INCLUDEDIR) -c $<
all:${TARGET}
$(TARGET):$(OBJ)
ar crv $(TARGET) $(OBJ)
install:
cp -f $(TARGET) $(INSTALLDIR)
clean :
rm -rf $(OBJ) $(TARGET) *.log *.pid *.core
@@ -0,0 +1,172 @@
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <cfgconfig.h>
char cfgname[60];
long Str2Dec(char *cpHex)
{
char cpBuf[100];
int nLen,nLoop;
long lnResult=0,lnMultiple=1;
strcpy(cpBuf,cpHex);
if(strncmp(cpBuf,"0x",2)==0)
strcpy(cpBuf,cpBuf+2);
else
return atol(cpBuf);
nLen = strlen(cpBuf);
for(nLoop=nLen-1;nLoop>=0;nLoop--)
{
if(cpBuf[nLoop]>='0'&&cpBuf[nLoop]<='9')
lnResult += ((cpBuf[nLoop]-'0')*lnMultiple);
else if(cpBuf[nLoop]>='A'&&cpBuf[nLoop]<='F')
lnResult += ((cpBuf[nLoop]-'A'+10)*lnMultiple);
else if(cpBuf[nLoop]>='a'&&cpBuf[nLoop]<='f')
lnResult += ((cpBuf[nLoop]-'A'+10)*lnMultiple);
lnMultiple *=16;
}
return lnResult;
}
char * makeToken(cpApp, cpRxt)
char *cpApp;
char *cpRxt;
{
int loop;
int in = 0;
int leng;
leng = strlen(cpApp);
for(loop=0; loop < leng; loop ++)
{
if(cpApp[loop] == '#')
{
cpRxt[0] = '\0';
return &cpApp[leng];
};
if((cpApp[loop] == ' ') || (cpApp[loop] == '\t') || (cpApp[loop] == '=') || (cpApp[loop] == '\n') )
continue;
for(loop; loop < leng; loop ++)
{
if((cpApp[loop] == ' ') || (cpApp[loop] == '\t') || (cpApp[loop] == '=') || (cpApp[loop] == '\n') )
{
cpRxt[in] ='\0';
return &cpApp[loop];
};
cpRxt[in++] = cpApp[loop];
};
};
cpRxt[in] ='\0';
return &cpApp[loop];
}
int ReadProfile(cpApp, cpKey, cpRxt)
char *cpApp;
char *cpKey;
char *cpRxt;
{
char cpBuf[MAX_BUF];
char cpTmp[MAX_BUF];
char cpAppBuf[MAX_BUF];
char *cpPtr;
FILE *fp;
sprintf(cpAppBuf,"[%s]", cpApp);
fp = fopen(cfgname, "r");
if(fp == NULL)
{
return -1;
};
if( (strlen(cpApp) < 1) || (strlen(cpKey) < 1) ) return -2;
for(;;)
{
fgets(cpBuf,MAX_BUF, fp);
if(feof(fp) )
{
fclose(fp);
return -3;
};
cpPtr = makeToken(cpBuf, cpTmp);
if(strcmp(cpTmp, cpAppBuf) == 0)
break;
};
for(;;)
{
fgets(cpBuf,MAX_BUF, fp);
if(feof(fp) )
break;
cpPtr = makeToken(cpBuf, cpTmp);
if( (cpTmp[0] == '[') && (cpTmp[strlen(cpTmp) -1] == ']') ) return -2;
if(strcmp(cpTmp, cpKey) == 0)
{
// printf("%s, %s\n", cpTmp, cpKey);
cpPtr = makeToken(cpPtr, cpRxt);
fclose(fp);
return 1;
};
};
fclose(fp);
return -4;
}
void SetIniName(name)
char *name;
{
strcpy(cfgname, name);
}
int GetProfileInt(part, spart, dval)
char *part;
char *spart;
int dval;
{
int rxt;
char buf[100];
rxt = ReadProfile(part, spart,buf);
if(rxt < 0)
return dval;
return (int) Str2Dec(buf);
}
char *GetProfile(part, spart, rval, dval )
char *part;
char *spart;
char *rval;
char *dval;
{
int rxt;
rxt = ReadProfile(part, spart,rval);
if(rxt < 0)
{
strcpy(rval, dval);
return dval;
}
return rval;
}
@@ -0,0 +1,12 @@
#ifndef CFGCONFIG_H
#define CFGCONFIG_H
#define MAX_BUF 1024
extern char cfgname[60];
#endif