summaryrefslogtreecommitdiff
path: root/nuttx/tools/csvparser.c
diff options
context:
space:
mode:
authorpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2012-09-03 15:16:32 +0000
committerpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2012-09-03 15:16:32 +0000
commited14f7102218c784f1f22649485de262f34a6507 (patch)
tree9e7c80f593c735b2b65253fab592bdaae21b031c /nuttx/tools/csvparser.c
parent439f35c8b342d6bab2e9ca59cfb0e6a18c7adf21 (diff)
downloadnuttx-ed14f7102218c784f1f22649485de262f34a6507.tar.gz
nuttx-ed14f7102218c784f1f22649485de262f34a6507.tar.bz2
nuttx-ed14f7102218c784f1f22649485de262f34a6507.zip
configure.sh now will ignore appconfig files if CONFIG_NUTTX_NEWCONFIG is defined
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5080 42af7a65-404d-4744-a932-0658087f49c3
Diffstat (limited to 'nuttx/tools/csvparser.c')
-rw-r--r--nuttx/tools/csvparser.c29
1 files changed, 29 insertions, 0 deletions
diff --git a/nuttx/tools/csvparser.c b/nuttx/tools/csvparser.c
index 739e5e1f8..3f1916e2b 100644
--- a/nuttx/tools/csvparser.c
+++ b/nuttx/tools/csvparser.c
@@ -67,17 +67,27 @@ int g_lineno;
* Private Functions
****************************************************************************/
+/****************************************************************************
+ * Name: skip_space
+ ****************************************************************************/
+
static char *skip_space(char *ptr)
{
while (*ptr && isspace((int)*ptr)) ptr++;
return ptr;
}
+/****************************************************************************
+ * Name: copy_parm
+ ****************************************************************************/
+
static char *copy_parm(char *src, char *dest)
{
char *start = src;
int i;
+ /* De-quote the parameter and copy it into the parameter array */
+
for (i = 0; i < MAX_PARMSIZE; i++)
{
if (*src == '"')
@@ -100,6 +110,10 @@ static char *copy_parm(char *src, char *dest)
exit(3);
}
+/****************************************************************************
+ * Name: find_parm
+ ****************************************************************************/
+
static char *find_parm(char *ptr)
{
char *start = ptr;
@@ -138,6 +152,10 @@ static char *find_parm(char *ptr)
* Public Functions
****************************************************************************/
+/****************************************************************************
+ * Name: read_line
+ ****************************************************************************/
+
char *read_line(FILE *stream)
{
char *ptr;
@@ -166,6 +184,10 @@ char *read_line(FILE *stream)
}
}
+/****************************************************************************
+ * Name: parse_csvline
+ ****************************************************************************/
+
int parse_csvline(char *ptr)
{
int nparms;
@@ -185,6 +207,10 @@ int parse_csvline(char *ptr)
ptr++;
nparms = 0;
+ /* Copy each comma-separated value in an array (stripping quotes from each
+ * of the values).
+ */
+
do
{
ptr = copy_parm(ptr, &g_parm[nparms][0]);
@@ -193,6 +219,8 @@ int parse_csvline(char *ptr)
}
while (ptr);
+ /* If debug is enabled, show what we got */
+
if (g_debug)
{
printf("Parameters: %d\n", nparms);
@@ -201,5 +229,6 @@ int parse_csvline(char *ptr)
printf(" Parm%d: \"%s\"\n", i+1, g_parm[i]);
}
}
+
return nparms;
}