From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 31783 invoked by alias); 10 May 2002 00:28:16 -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 31776 invoked from network); 10 May 2002 00:28:14 -0000 Received: from unknown (HELO cygnus.com) (205.180.83.203) by sources.redhat.com with SMTP; 10 May 2002 00:28:14 -0000 Received: from localhost.redhat.com (romulus.sfbay.redhat.com [172.16.27.251]) by runyon.cygnus.com (8.8.7-cygnus/8.8.7) with ESMTP id RAA20249 for ; Thu, 9 May 2002 17:28:12 -0700 (PDT) Received: by localhost.redhat.com (Postfix, from userid 469) id 0AA4210AAC; Thu, 9 May 2002 20:27:40 -0400 (EDT) From: Elena Zannoni MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Message-ID: <15579.5116.246506.98715@localhost.redhat.com> Date: Thu, 09 May 2002 17:28:00 -0000 To: gdb-patches@sources.redhat.com Cc: drow@mvista.com Subject: [PATCH] linespec.c old patch X-SW-Source: 2002-05/txt/msg00311.txt.bz2 This patch was approved but never got applied. I am committing it now. DanJ, OK with you? http://sources.redhat.com/ml/gdb-patches/2001-05/msg00417.html Elena 2002-05-09 Elena Zannoni From Daniel Berlin * linespec.c (find_toplevel_char): '<' and '>' also increase and decrease the depth we are at, in the case of templates. Index: linespec.c =================================================================== RCS file: /cvs/uberbaum/gdb/linespec.c,v retrieving revision 1.18 diff -u -p -r1.18 linespec.c --- linespec.c 5 Apr 2002 22:04:41 -0000 1.18 +++ linespec.c 10 May 2002 00:23:43 -0000 @@ -298,7 +298,9 @@ build_canonical_line_spec (struct symtab /* Find an instance of the character C in the string S that is outside of all parenthesis pairs, single-quoted strings, and double-quoted - strings. */ + strings. Also, ignore the char within a template name, like a ',' + within foo. */ + static char * find_toplevel_char (char *s, char c) { @@ -321,9 +323,9 @@ find_toplevel_char (char *s, char c) return scan; else if (*scan == '"' || *scan == '\'') quoted = *scan; - else if (*scan == '(') + else if (*scan == '(' || *scan == '<') depth++; - else if (*scan == ')' && depth > 0) + else if ((*scan == ')' || *scan == '>') && depth > 0) depth--; }