forked from auracaster/openocd
- fix incorrect parsing of whitespace in command.c (thanks to Magnus Lundin)
- fix infinite recursion in target_init_handler (thanks to jw and Magnus Lundin) - fix CFI flash handlign with buswidth < 32bit (thanks to Daniele Orio for reporting this) - add support for reading JTAG device id (currently only as debug output on startup) - cleaned up handling of EmbeddedICE registers. Supported functionality and register size now determined by EmbeddedICE version number. - small cleanups/fixes git-svn-id: svn://svn.berlios.de/openocd/trunk@124 b42882b7-edfa-0310-969c-e2dbd0fdcd60
This commit is contained in:
@@ -200,12 +200,23 @@ int parse_line(char *line, char *words[], int max_words)
|
||||
/* we're inside a word or quote, and reached its end*/
|
||||
if (word_start)
|
||||
{
|
||||
int len = p - word_start;
|
||||
|
||||
/* copy the word */
|
||||
memcpy(words[nwords] = malloc(len + 1), word_start, len);
|
||||
/* add terminating NUL */
|
||||
words[nwords++][len] = 0;
|
||||
int len;
|
||||
char *word_end=p;
|
||||
/* This will handle extra whitespace within quotes */
|
||||
while (isspace(*word_start)&&(word_start<word_end))
|
||||
word_start++;
|
||||
while (isspace(*(word_end-1))&&(word_start<word_end))
|
||||
word_end--;
|
||||
|
||||
len = word_end - word_start;
|
||||
|
||||
if (len>0)
|
||||
{
|
||||
/* copy the word */
|
||||
memcpy(words[nwords] = malloc(len + 1), word_start, len);
|
||||
/* add terminating NUL */
|
||||
words[nwords++][len] = 0;
|
||||
}
|
||||
}
|
||||
|
||||
/* we're done parsing the line */
|
||||
@@ -215,6 +226,8 @@ int parse_line(char *line, char *words[], int max_words)
|
||||
/* skip over trailing quote or whitespace*/
|
||||
if (inquote || isspace(*p))
|
||||
p++;
|
||||
while (isspace(*p))
|
||||
p++;
|
||||
|
||||
inquote = 0;
|
||||
word_start = 0;
|
||||
|
||||
Reference in New Issue
Block a user