From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 19712 invoked by alias); 10 Jul 2012 00:33:39 -0000 Received: (qmail 19703 invoked by uid 22791); 10 Jul 2012 00:33:38 -0000 X-SWARE-Spam-Status: No, hits=-4.4 required=5.0 tests=AWL,BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,KHOP_RCVD_TRUST,RCVD_IN_DNSWL_LOW,RCVD_IN_HOSTKARMA_YE,T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from mail-wg0-f73.google.com (HELO mail-wg0-f73.google.com) (74.125.82.73) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Tue, 10 Jul 2012 00:33:26 +0000 Received: by wgbdq12 with SMTP id dq12so689077wgb.0 for ; Mon, 09 Jul 2012 17:33:25 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=to:subject:message-id:date:from:x-gm-message-state; bh=+Kz/+h1Vw6Alrpd5ntMN2Yx+jOOpoCe4oep1QZN4QfM=; b=jeet55Uvk4YOGNdVw3gLoFwzKYmyRO5+DbOqVvpLCtIbm8XteGFh8MhXvZarW5f+hD YXvexVMOV0/5aarDKQOqDPB+Ta6osdllCZieBvr8FvrN5xOt/1KBrpGvyA1dgT5K1xZl dkQdx6jl/n1U8NLsQLE+yxUzHUu+Rrw+NLiCf1oc2XK85nR+toFuPtlspqGY86bGGnDr NB3TPeXr8WWa6n+v0q+itWmmxPewZRyqgpT2LPoDvVeVGD+ImNoL1CbLpvIILvRyMjqn fauw2dU7Smf8QNx7G9PquqshMNtYJbnt69WwEMGOFLVJu3Vr5/pjSAj+by6XfzSADQyT ql4Q== Received: by 10.14.28.65 with SMTP id f41mr13481741eea.11.1341880405012; Mon, 09 Jul 2012 17:33:25 -0700 (PDT) Received: by 10.14.28.65 with SMTP id f41mr13481736eea.11.1341880404887; Mon, 09 Jul 2012 17:33:24 -0700 (PDT) Received: from hpza10.eem.corp.google.com ([74.125.121.33]) by gmr-mx.google.com with ESMTPS id d52si23507511eei.1.2012.07.09.17.33.24 (version=TLSv1/SSLv3 cipher=AES128-SHA); Mon, 09 Jul 2012 17:33:24 -0700 (PDT) Received: from ruffy2.mtv.corp.google.com (ruffy2.mtv.corp.google.com [172.18.110.129]) by hpza10.eem.corp.google.com (Postfix) with ESMTP id AE98D20004E for ; Mon, 9 Jul 2012 17:33:24 -0700 (PDT) Received: by ruffy2.mtv.corp.google.com (Postfix, from userid 67641) id 100001E13A1; Mon, 9 Jul 2012 17:33:23 -0700 (PDT) To: gdb-patches@sourceware.org Subject: [RFA] symtab.c: Set "first" to zero. Message-Id: <20120710003324.100001E13A1@ruffy2.mtv.corp.google.com> Date: Tue, 10 Jul 2012 00:33:00 -0000 From: dje@google.com (Doug Evans) X-Gm-Message-State: ALoCoQlgzOtRcP7xfACNAKZy4sFE1B1YLIFr48RidVy6hUBZEdviLPFOu10ZHXz7BpYfRlkTf0pjPRiZLg4dNlXq3+76kEKjACn27shJgnthGWNuolCnm+eXfV2BJ0QG3Z80hNn+RX8kUahStJniPAKKgNEpxslMhgSc4EiXootdZLt988ttguqNnWIu7SUuWoJXtIt9sMO5IJ/hWNMhLTmiq+ce41LKlA== X-IsSubscribed: yes Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2012-07/txt/msg00119.txt.bz2 Hi. The "first" argument to filename_seen is used to control the initialization of the data structure used to track whether a file name has been seen yet. But these two routines don't set it to zero after calling filename_seen so the data structure is continually reinitialized resulting in duplicate names in the output. The completion machinery does its own duplicate elimination so the effect of this bug is hidden. I just noticed it while browsing the code. Ok to check in? 2012-07-09 Doug Evans * symtab.c (maybe_add_partial_symtab_filename): Set "first" to zero after calling filename_seen. (make_source_files_completion_list): Ditto. Index: symtab.c =================================================================== RCS file: /cvs/src/src/gdb/symtab.c,v retrieving revision 1.316 diff -u -p -r1.316 symtab.c --- symtab.c 29 Jun 2012 22:46:45 -0000 1.316 +++ symtab.c 9 Jul 2012 23:46:45 -0000 @@ -4576,6 +4576,7 @@ maybe_add_partial_symtab_filename (const && filename_ncmp (base_name, data->text, data->text_len) == 0) add_filename_to_list (base_name, data->text, data->word, data->list); } + *data->first = 0; } /* Return a vector of all source files whose names begin with matching @@ -4623,6 +4624,7 @@ make_source_files_completion_list (char && filename_ncmp (base_name, text, text_len) == 0) add_filename_to_list (base_name, text, word, &list); } + first = 0; } datum.first = &first;