From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 25381 invoked by alias); 29 Jul 2008 22:10:43 -0000 Received: (qmail 25372 invoked by uid 22791); 29 Jul 2008 22:10:42 -0000 X-Spam-Check-By: sourceware.org Received: from bluesmobile.specifix.com (HELO bluesmobile.specifix.com) (216.129.118.140) by sourceware.org (qpsmtpd/0.31) with ESMTP; Tue, 29 Jul 2008 22:10:18 +0000 Received: from [127.0.0.1] (bluesmobile.specifix.com [216.129.118.140]) by bluesmobile.specifix.com (Postfix) with ESMTP id E01CF3BEE7; Tue, 29 Jul 2008 15:10:16 -0700 (PDT) Subject: Re: RFA: use memcpy, not a loop From: Michael Snyder To: tromey@redhat.com Cc: gdb-patches@sourceware.org In-Reply-To: References: Content-Type: text/plain Date: Tue, 29 Jul 2008 22:10:00 -0000 Message-Id: <1217369416.3549.619.camel@localhost.localdomain> Mime-Version: 1.0 X-Mailer: Evolution 2.10.3 (2.10.3-7.fc7) Content-Transfer-Encoding: 7bit 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: 2008-07/txt/msg00554.txt.bz2 On Tue, 2008-07-29 at 13:13 -0600, Tom Tromey wrote: > While debugging on the python branch I ran into a couple of loops that > can be replaced with memcpy. I find that this is easier to read and > it makes debugging a bit friendlier. > > Built and tested on the compile farm (x86-64). > Ok? Sure. Looks like you can nuke "tmp" from the function too... No need to re-submit if you decide to make that change. But doesn't each of those functions have *two* such loops? > 2008-07-28 Tom Tromey > > * cli/cli-decode.c (lookup_cmd_1): Use memcpy. > (lookup_cmd_composition): Likewise. > > diff --git a/gdb/cli/cli-decode.c b/gdb/cli/cli-decode.c > index 6908314..5b1a7e0 100644 > --- a/gdb/cli/cli-decode.c > +++ b/gdb/cli/cli-decode.c > @@ -1112,11 +1112,7 @@ lookup_cmd_1 (char **text, struct cmd_list_element *clist, > > > command = (char *) alloca (len + 1); > - for (tmp = 0; tmp < len; tmp++) > - { > - char x = (*text)[tmp]; > - command[tmp] = x; > - } > + memcpy (command, *text, len); > command[len] = '\0'; > > /* Look it up. */ > @@ -1468,11 +1464,7 @@ lookup_cmd_composition (char *text, > it's length is len). We copy this into a local temporary */ > > command = (char *) alloca (len + 1); > - for (tmp = 0; tmp < len; tmp++) > - { > - char x = text[tmp]; > - command[tmp] = x; > - } > + memcpy (command, text, len); > command[len] = '\0'; > > /* Look it up. */