From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 19091 invoked by alias); 14 Feb 2002 11:17:58 -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 19009 invoked from network); 14 Feb 2002 11:17:53 -0000 Received: from unknown (HELO cerbere.u-strasbg.fr) (130.79.112.7) by sources.redhat.com with SMTP; 14 Feb 2002 11:17:53 -0000 Received: from laocoon (laocoon.u-strasbg.fr [130.79.112.72]) by cerbere.u-strasbg.fr (8.9.3/8.8.7) with ESMTP id MAA21050 for ; Thu, 14 Feb 2002 12:17:51 +0100 Message-Id: <4.2.0.58.20020214121240.01a80208@ics.u-strasbg.fr> X-Sender: muller@ics.u-strasbg.fr X-Mailer: QUALCOMM Windows Eudora Pro Version 4.2.0.58 Date: Thu, 14 Feb 2002 03:17:00 -0000 To: gdb-patches@sources.redhat.com From: Pierre Muller Subject: Re: [RFA] win32-nat printf and sprintf removal In-Reply-To: <20020208230440.GA8444@redhat.com> References: <4.2.0.58.20020208182442.00ad05e0@ics.u-strasbg.fr> <4.2.0.58.20020208182442.00ad05e0@ics.u-strasbg.fr> Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 8bit X-SW-Source: 2002-02/txt/msg00403.txt.bz2 At 00:04 09/02/2002 , Christopher Faylor a écrit: >On Fri, Feb 08, 2002 at 06:29:11PM +0100, Pierre Muller wrote: > > > >I replaced printf by printf_unfiltered (or printf_filtered > >when there where other printf_filtered in the same function) > >and sprintf by xasprintf in win32-nat.c source. > >Since I wasn't aware of xasprintf, I checked it out. It takes >a different first argument than sprintf. xasprintf takes a char **. >sprintf takes a char *. > >Didn't you notice an increased number of warnings with this patch? >I don't think you changed these calls correctly. You are right, I didn't check correctly :( >@@ -1763,9 +1763,9 @@ cygwin_pid_to_str (ptid_t ptid) > > int pid = PIDGET (ptid); > > > > if ((DWORD) pid == current_event.dwProcessId) > >- sprintf (buf, "process %d", pid); > >+ xaprintf (buf, "process %d", pid); > > else > >- sprintf (buf, "thread %ld.0x%x", current_event.dwProcessId, pid); > >+ xasprintf (buf, "thread %ld.0x%x", current_event.dwProcessId, pid); > > return buf; As this is a static buffer, xasprintf can't be used here.... Andrew, why are the target_pid_to_str functions supposed to return static buffers? Isn't that a big waste of memory? > >@@ -2009,7 +2009,7 @@ _initialize_check_for_gdb_ini (void) > > { > > int len = strlen (oldini); > > char *newini = alloca (len + 1); > >- sprintf (newini, "%.*s.gdbinit", > >+ xasprintf (newini, "%.*s.gdbinit", > > (int) (len - (sizeof ("gdb.ini") - 1)), oldini); > > warning ("obsolete '%s' found. Rename to '%s'.", oldini, newini); > > } I corrected this one to this patch, which doesn't give any warning. But the memory allocated for oldini is still lost.... Can I check this in? Index: win32-nat.c =================================================================== RCS file: /cvs/src/src/gdb/win32-nat.c,v retrieving revision 1.50 diff -u -p -r1.50 win32-nat.c --- win32-nat.c 2002/02/08 23:12:16 1.50 +++ win32-nat.c 2002/02/14 11:16:15 @@ -2008,10 +2008,11 @@ _initialize_check_for_gdb_ini (void) if (access (oldini, 0) == 0) { int len = strlen (oldini); - char *newini = alloca (len + 1); - sprintf (newini, "%.*s.gdbinit", + char *newini; + xasprintf (&newini, "%.*s.gdbinit", (int) (len - (sizeof ("gdb.ini") - 1)), oldini); warning ("obsolete '%s' found. Rename to '%s'.", oldini, newini); + xfree (newini); } } } Pierre Muller Institut Charles Sadron 6,rue Boussingault F 67083 STRASBOURG CEDEX (France) mailto:muller@ics.u-strasbg.fr Phone : (33)-3-88-41-40-07 Fax : (33)-3-88-41-40-99