summaryrefslogtreecommitdiff
path: root/nuttx/tools
diff options
context:
space:
mode:
authorpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2007-02-19 20:41:40 +0000
committerpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2007-02-19 20:41:40 +0000
commit71989f8323da84187bb4b06ef9d4435d037d7a27 (patch)
tree01227ace93e2d30ac0c4ec5959aa8aaaed769539 /nuttx/tools
parent9de7429aec0c1f6bafcd03824f8b70cff7ee6461 (diff)
downloadpx4-nuttx-71989f8323da84187bb4b06ef9d4435d037d7a27.tar.gz
px4-nuttx-71989f8323da84187bb4b06ef9d4435d037d7a27.tar.bz2
px4-nuttx-71989f8323da84187bb4b06ef9d4435d037d7a27.zip
Progress with C5471 boot
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@8 42af7a65-404d-4744-a932-0658087f49c3
Diffstat (limited to 'nuttx/tools')
-rw-r--r--nuttx/tools/mkconfig.c29
1 files changed, 16 insertions, 13 deletions
diff --git a/nuttx/tools/mkconfig.c b/nuttx/tools/mkconfig.c
index 6de8ddd93..e7394702f 100644
--- a/nuttx/tools/mkconfig.c
+++ b/nuttx/tools/mkconfig.c
@@ -52,16 +52,26 @@ static char *skip_space(char *ptr)
return ptr;
}
-static char *find_end(char *ptr)
+static char *find_name_end(char *ptr)
{
while (*ptr && (isalnum(*ptr) || *ptr == '_')) ptr++;
return ptr;
}
-static char *find_comment(char *ptr)
+static char *find_value_end(char *ptr)
{
- while (*ptr && *ptr != '"' && *ptr != '\n') ptr++;
- if (*ptr == '"') ptr++;
+ while (*ptr && !isspace(*ptr))
+ {
+ if (*ptr == '"')
+ {
+ do ptr++; while (*ptr && *ptr != '"');
+ if (*ptr) ptr++;
+ }
+ else
+ {
+ do ptr++; while (*ptr && !isspace(*ptr) && *ptr != '"');
+ }
+ }
return ptr;
}
@@ -92,7 +102,7 @@ static void parse_line(char *ptr, char **varname, char **varval)
*varname = ptr;
*varval = NULL;
- ptr = find_end(ptr);
+ ptr = find_name_end(ptr);
if (*ptr && *ptr != '=')
{
*ptr = '\0';
@@ -106,14 +116,7 @@ static void parse_line(char *ptr, char **varname, char **varval)
if (*ptr)
{
*varval = ptr;
- if (*ptr == '"')
- {
- ptr = find_comment(ptr);
- }
- else
- {
- ptr = find_end(ptr);
- }
+ ptr = find_value_end(ptr);
*ptr = '\0';
}
}