- 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:
drath
2007-01-22 14:47:00 +00:00
parent adaed4c1c7
commit 4fc97d3f27
17 changed files with 252 additions and 119 deletions

View File

@@ -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;