|
|
@ -67,17 +67,27 @@ int g_lineno; |
|
|
|
* Private Functions |
|
|
|
* Private Functions |
|
|
|
****************************************************************************/ |
|
|
|
****************************************************************************/ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/****************************************************************************
|
|
|
|
|
|
|
|
* Name: skip_space |
|
|
|
|
|
|
|
****************************************************************************/ |
|
|
|
|
|
|
|
|
|
|
|
static char *skip_space(char *ptr) |
|
|
|
static char *skip_space(char *ptr) |
|
|
|
{ |
|
|
|
{ |
|
|
|
while (*ptr && isspace((int)*ptr)) ptr++; |
|
|
|
while (*ptr && isspace((int)*ptr)) ptr++; |
|
|
|
return ptr; |
|
|
|
return ptr; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/****************************************************************************
|
|
|
|
|
|
|
|
* Name: copy_parm |
|
|
|
|
|
|
|
****************************************************************************/ |
|
|
|
|
|
|
|
|
|
|
|
static char *copy_parm(char *src, char *dest) |
|
|
|
static char *copy_parm(char *src, char *dest) |
|
|
|
{ |
|
|
|
{ |
|
|
|
char *start = src; |
|
|
|
char *start = src; |
|
|
|
int i; |
|
|
|
int i; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* De-quote the parameter and copy it into the parameter array */ |
|
|
|
|
|
|
|
|
|
|
|
for (i = 0; i < MAX_PARMSIZE; i++) |
|
|
|
for (i = 0; i < MAX_PARMSIZE; i++) |
|
|
|
{ |
|
|
|
{ |
|
|
|
if (*src == '"') |
|
|
|
if (*src == '"') |
|
|
@ -100,6 +110,10 @@ static char *copy_parm(char *src, char *dest) |
|
|
|
exit(3); |
|
|
|
exit(3); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/****************************************************************************
|
|
|
|
|
|
|
|
* Name: find_parm |
|
|
|
|
|
|
|
****************************************************************************/ |
|
|
|
|
|
|
|
|
|
|
|
static char *find_parm(char *ptr) |
|
|
|
static char *find_parm(char *ptr) |
|
|
|
{ |
|
|
|
{ |
|
|
|
char *start = ptr; |
|
|
|
char *start = ptr; |
|
|
@ -138,6 +152,10 @@ static char *find_parm(char *ptr) |
|
|
|
* Public Functions |
|
|
|
* Public Functions |
|
|
|
****************************************************************************/ |
|
|
|
****************************************************************************/ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/****************************************************************************
|
|
|
|
|
|
|
|
* Name: read_line |
|
|
|
|
|
|
|
****************************************************************************/ |
|
|
|
|
|
|
|
|
|
|
|
char *read_line(FILE *stream) |
|
|
|
char *read_line(FILE *stream) |
|
|
|
{ |
|
|
|
{ |
|
|
|
char *ptr; |
|
|
|
char *ptr; |
|
|
@ -166,6 +184,10 @@ char *read_line(FILE *stream) |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/****************************************************************************
|
|
|
|
|
|
|
|
* Name: parse_csvline |
|
|
|
|
|
|
|
****************************************************************************/ |
|
|
|
|
|
|
|
|
|
|
|
int parse_csvline(char *ptr) |
|
|
|
int parse_csvline(char *ptr) |
|
|
|
{ |
|
|
|
{ |
|
|
|
int nparms; |
|
|
|
int nparms; |
|
|
@ -185,6 +207,10 @@ int parse_csvline(char *ptr) |
|
|
|
ptr++; |
|
|
|
ptr++; |
|
|
|
nparms = 0; |
|
|
|
nparms = 0; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* Copy each comma-separated value in an array (stripping quotes from each
|
|
|
|
|
|
|
|
* of the values). |
|
|
|
|
|
|
|
*/ |
|
|
|
|
|
|
|
|
|
|
|
do |
|
|
|
do |
|
|
|
{ |
|
|
|
{ |
|
|
|
ptr = copy_parm(ptr, &g_parm[nparms][0]); |
|
|
|
ptr = copy_parm(ptr, &g_parm[nparms][0]); |
|
|
@ -193,6 +219,8 @@ int parse_csvline(char *ptr) |
|
|
|
} |
|
|
|
} |
|
|
|
while (ptr); |
|
|
|
while (ptr); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* If debug is enabled, show what we got */ |
|
|
|
|
|
|
|
|
|
|
|
if (g_debug) |
|
|
|
if (g_debug) |
|
|
|
{ |
|
|
|
{ |
|
|
|
printf("Parameters: %d\n", nparms); |
|
|
|
printf("Parameters: %d\n", nparms); |
|
|
@ -201,5 +229,6 @@ int parse_csvline(char *ptr) |
|
|
|
printf(" Parm%d: \"%s\"\n", i+1, g_parm[i]); |
|
|
|
printf(" Parm%d: \"%s\"\n", i+1, g_parm[i]); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
return nparms; |
|
|
|
return nparms; |
|
|
|
} |
|
|
|
} |
|
|
|