From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 13504 invoked by alias); 10 May 2002 19:50:57 -0000 Mailing-List: contact gdb-patches-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sources.redhat.com Received: (qmail 13497 invoked from network); 10 May 2002 19:50:53 -0000 Received: from unknown (HELO nevyn.them.org) (128.2.145.6) by sources.redhat.com with SMTP; 10 May 2002 19:50:53 -0000 Received: from drow by nevyn.them.org with local (Exim 3.35 #1 (Debian)) id 176GPj-00013k-00; Fri, 10 May 2002 15:50:51 -0400 Date: Fri, 10 May 2002 12:50:00 -0000 From: Daniel Jacobowitz To: Elena Zannoni Cc: Michael Snyder , gdb-patches@sources.redhat.com Subject: Re: [RFA] Fix mi-break.exp: 'b "basics.c":16' Message-ID: <20020510195051.GA3923@nevyn.them.org> Mail-Followup-To: Elena Zannoni , Michael Snyder , gdb-patches@sources.redhat.com References: <20020402192959.A17349@nevyn.them.org> <3CDAFAEA.7C4E5207@redhat.com> <20020509230501.GA12784@nevyn.them.org> <15579.1733.506502.884427@localhost.redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <15579.1733.506502.884427@localhost.redhat.com> User-Agent: Mutt/1.5.1i X-SW-Source: 2002-05/txt/msg00360.txt.bz2 On Thu, May 09, 2002 at 07:31:17PM -0400, Elena Zannoni wrote: > Daniel Jacobowitz writes: > > On Thu, May 09, 2002 at 03:40:42PM -0700, Michael Snyder wrote: > > > Daniel Jacobowitz wrote: > > > > > > > > [I dislike decode_line_1. But that seems to be the general consensus...] > > > > > > > > There was a logic error in the code to handle "file":line. Several, > > > > actually. I suspect that it once worked and had bitrotten as the behavior > > > > of the function changed. For instance, at the beginning of the function: > > > > > > > > if (p[0] == '"') > > > > { > > > > is_quote_enclosed = 1; > > > > (*argptr)++; > > > > p++; > > > > } > > > > > > > > Then below it checked 'is_quote_enclosed && (**argptr) == '"'). > > > > > > [line break inserted] > > > > > > > That'll only be true given a literal '"":', which was not > > > > the intent of the test. > > > > > > I don't understand this statement. Between the two bits of text > > > you've named, both p and *argptr are changed. Seems to me, there > > > could be any number of characters between the two quotes. > > > > This is the part that took me the longest to work out in the first > > place, I think. `p' being changed doesn't matter here; it should end > > up point at (before?) the colon. > > > > The first if statement is at line 630. The second is at 929. Between > > the two, *argptr is only changed if we found a C++ class. It might be > > changed on "interestingly" named files, also, but if so it's purely a > > bug in the twistiness of linespec. At line 633 it points to the > > _second_ character (right after the first quote), so if **argptr == > > '"', that means the second quote is right after the first. > > As usual, I had to go and see when/why the test started failing, > and it was because a patch from March 2001, which was fixing > a core dump on the following: > > (gdb) break "foo" > > I have verified that your patch doesn't reintroduce the core dump. > I guess we can check that in. OK, committed. > Hey, any chance you can add a break "foo" in some testfile somewhere? > Probably break.exp? Just posted one. > > Elena > > > > > > > > > > > > > > This patch updates the behavior, should change nothing else, and causes no > > > > regressions. OK to check in? > > > > > > > > -- > > > > Daniel Jacobowitz Carnegie Mellon University > > > > MontaVista Software Debian GNU/Linux Developer > > > > > > > > 2002-04-02 Daniel Jacobowitz > > > > > > > > * linespec.c (decode_line_1): Check for a double quote after > > > > a filename correctly. -- Daniel Jacobowitz Carnegie Mellon University MontaVista Software Debian GNU/Linux Developer