more work on config parser
This commit is contained in:
parent
c848ebd12d
commit
e5cc357130
@ -1,4 +1,5 @@
|
|||||||
|
|
||||||
|
# experimental config file
|
||||||
|
|
||||||
|
|
||||||
input_device s /def/ttyACM0
|
input_device s /def/ttyACM0
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* parseconf
|
* core/parseconf.c
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
@ -10,12 +10,14 @@
|
|||||||
extern int verbosity;
|
extern int verbosity;
|
||||||
extern Configuration config;
|
extern Configuration config;
|
||||||
|
|
||||||
|
#define CMP(a) (!strcmp(cptr, a))
|
||||||
|
|
||||||
/* ---------------------------------------------------------------- */
|
/* ---------------------------------------------------------------- */
|
||||||
int parse_config(char *fname, int flags)
|
int parse_config(char *fname, int flags)
|
||||||
{
|
{
|
||||||
FILE *fp;
|
FILE *fp;
|
||||||
char line[SZ_STRINGS+1];
|
char line[SZ_STRINGS+1], *cptr;
|
||||||
|
int numligne;
|
||||||
|
|
||||||
#if DEBUG_LEVEL
|
#if DEBUG_LEVEL
|
||||||
fprintf(stderr, ">>> %s ( '%s' $%x )\n", fname, flags);
|
fprintf(stderr, ">>> %s ( '%s' $%x )\n", fname, flags);
|
||||||
@ -28,19 +30,39 @@ if (NULL==(fp=fopen(fname, "r"))) {
|
|||||||
return -2;
|
return -2;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
numligne = 0;
|
||||||
|
|
||||||
while (fgets(line, SZ_STRINGS, fp))
|
while (fgets(line, SZ_STRINGS, fp))
|
||||||
{
|
{
|
||||||
|
numligne++;
|
||||||
|
if ('\0'==line[0]) {
|
||||||
|
fprintf(stderr, "%s : short read line %d\n",
|
||||||
|
fname, numligne);
|
||||||
|
fclose(fp);
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
/* massage the end of line */
|
/* massage the end of line */
|
||||||
|
line[strlen(line)-1] = '\0'; /* kill EOL */
|
||||||
|
if (verbosity) {
|
||||||
|
fprintf(stderr, "%3d :\t%s\n", numligne, line);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* seek for the first token in this line */
|
||||||
|
if (NULL==(cptr = strtok(line, " \t"))) {
|
||||||
|
/* Got an empty line */
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
/* skip comments */
|
/* skip comments */
|
||||||
|
if ('#'==*cptr) continue;
|
||||||
|
|
||||||
|
if(verbosity) fprintf(stderr, "[%s]\n", cptr);
|
||||||
|
|
||||||
/* seek for keyword */
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
fclose(fp);
|
fclose(fp);
|
||||||
|
|
||||||
return -1;
|
return -1;
|
||||||
|
4
core/t.c
4
core/t.c
@ -33,7 +33,6 @@ while ((opt = getopt(argc, argv, "v")) != -1) {
|
|||||||
switch (opt) {
|
switch (opt) {
|
||||||
case 'v': verbosity++; break;
|
case 'v': verbosity++; break;
|
||||||
|
|
||||||
|
|
||||||
default:
|
default:
|
||||||
fprintf(stderr, "%s : uh ?", argv[0]);
|
fprintf(stderr, "%s : uh ?", argv[0]);
|
||||||
exit(1);
|
exit(1);
|
||||||
@ -47,9 +46,10 @@ foo = parse_config(conffile, 1);
|
|||||||
fprintf(stderr, "parse_config(%s) -> %d\n\n", conffile, foo);
|
fprintf(stderr, "parse_config(%s) -> %d\n\n", conffile, foo);
|
||||||
show_config("foo");
|
show_config("foo");
|
||||||
|
|
||||||
|
/*
|
||||||
foo = load_lut1024f("foo.lut1024f", NULL, 1);
|
foo = load_lut1024f("foo.lut1024f", NULL, 1);
|
||||||
|
|
||||||
fprintf(stderr, "chargement de la lut --> %d\n\n", foo);
|
fprintf(stderr, "chargement de la lut --> %d\n\n", foo);
|
||||||
|
*/
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -21,7 +21,6 @@ v1 = getpid(); v2 = time(NULL);
|
|||||||
return v1 ^ v2;
|
return v1 ^ v2;
|
||||||
}
|
}
|
||||||
/* --------------------------------------------------------------- */
|
/* --------------------------------------------------------------- */
|
||||||
|
|
||||||
int random1000(int type)
|
int random1000(int type)
|
||||||
{
|
{
|
||||||
int value;
|
int value;
|
||||||
@ -55,5 +54,4 @@ if (foo) fprintf(stderr, "got %d in %s\n", foo, __func__);
|
|||||||
|
|
||||||
return (double)tv.tv_sec + (double)tv.tv_usec / 1e6;
|
return (double)tv.tv_sec + (double)tv.tv_usec / 1e6;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* --------------------------------------------------------------- */
|
/* --------------------------------------------------------------- */
|
||||||
|
@ -0,0 +1,8 @@
|
|||||||
|
/*
|
||||||
|
* core/utils.h
|
||||||
|
*/
|
||||||
|
|
||||||
|
int seed_my_rand(int foo);
|
||||||
|
int random1000(int type);
|
||||||
|
|
||||||
|
double dtime(void);
|
Loading…
Reference in New Issue
Block a user