diff options
author | Daniel Jacobowitz <drow@false.org> | 2002-05-10 20:05:27 +0000 |
---|---|---|
committer | Daniel Jacobowitz <drow@false.org> | 2002-05-10 20:05:27 +0000 |
commit | 2654e6d432835d6402a57b64323d49cf699048b9 (patch) | |
tree | d028c2ebb89d2df753ec309f306f23e20fc385d7 | |
parent | c4b7bc2bea4cf67926e48f3c32f297d2f17c04fa (diff) | |
download | gdb-2654e6d432835d6402a57b64323d49cf699048b9.zip gdb-2654e6d432835d6402a57b64323d49cf699048b9.tar.gz gdb-2654e6d432835d6402a57b64323d49cf699048b9.tar.bz2 |
2002-05-10 Daniel Jacobowitz <drow@mvista.com>
* linespec.c (decode_line_1): Check for a double quote after
a filename correctly.
-rw-r--r-- | gdb/ChangeLog | 5 | ||||
-rw-r--r-- | gdb/linespec.c | 18 |
2 files changed, 10 insertions, 13 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index e81d9fa..4c3c3fb 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2002-05-10 Daniel Jacobowitz <drow@mvista.com> + + * linespec.c (decode_line_1): Check for a double quote after + a filename correctly. + 2002-05-10 Jim Blandy <jimb@redhat.com> Properly track the size of the current objfile's .debug_line section. diff --git a/gdb/linespec.c b/gdb/linespec.c index b9a772c..f707234 100644 --- a/gdb/linespec.c +++ b/gdb/linespec.c @@ -931,20 +931,12 @@ decode_line_1 (char **argptr, int funfirstline, struct symtab *default_symtab, if ((*p == '"') && is_quote_enclosed) --p; copy = (char *) alloca (p - *argptr + 1); - if ((**argptr == '"') && is_quote_enclosed) - { - memcpy (copy, *argptr + 1, p - *argptr - 1); - /* It may have the ending quote right after the file name */ - if (copy[p - *argptr - 2] == '"') - copy[p - *argptr - 2] = 0; - else - copy[p - *argptr - 1] = 0; - } + memcpy (copy, *argptr, p - *argptr); + /* It may have the ending quote right after the file name */ + if (is_quote_enclosed && copy[p - *argptr - 1] == '"') + copy[p - *argptr - 1] = 0; else - { - memcpy (copy, *argptr, p - *argptr); - copy[p - *argptr] = 0; - } + copy[p - *argptr] = 0; /* Find that file's data. */ s = lookup_symtab (copy); |