From e3d6ec4a0d275ca63d52247b7efc16ccc392c9aa Mon Sep 17 00:00:00 2001 From: Peter Schauer Date: Tue, 1 Mar 1994 07:57:01 +0000 Subject: [PATCH] * symtab.c (decode_line_1): Handle the case when skip_quoted does not advance `p'. --- gdb/ChangeLog | 5 +++++ gdb/symtab.c | 4 +++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 2d2b7bd..93723a0 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +Mon Feb 28 23:54:39 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * symtab.c (decode_line_1): Handle the case when skip_quoted does not + advance `p'. + Mon Feb 28 12:40:46 1994 Jim Kingdon (kingdon@deneb.cygnus.com) * value.h (struct value): Add modifiable field. diff --git a/gdb/symtab.c b/gdb/symtab.c index 3e751db..357b349 100644 --- a/gdb/symtab.c +++ b/gdb/symtab.c @@ -1029,6 +1029,7 @@ find_pc_symtab (pc) /* Might want to error() here (in case symtab is corrupt and will cause a core dump), but maybe we can successfully continue, so let's not. */ + /* FIXME-32x64: assumes pc fits in a long */ warning ("\ (Internal error: pc 0x%lx in read in psymtab, but not in symtab.)\n", (unsigned long) pc); @@ -2148,7 +2149,8 @@ decode_line_1 (argptr, funfirstline, default_symtab, default_line, canonical) copy = (char *) alloca (p - *argptr + 1); memcpy (copy, *argptr, p - *argptr); copy[p - *argptr] = '\0'; - if ((copy[0] == copy [p - *argptr - 1]) + if (p != *argptr + && (copy[0] == copy [p - *argptr - 1]) && strchr (gdb_completer_quote_characters, copy[0]) != NULL) { copy [p - *argptr - 1] = '\0'; -- 2.7.4