This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: RFA: use memcpy, not a loop
- From: Michael Snyder <msnyder at specifix dot com>
- To: tromey at redhat dot com
- Cc: gdb-patches at sourceware dot org
- Date: Tue, 29 Jul 2008 15:10:16 -0700
- Subject: Re: RFA: use memcpy, not a loop
- References: <m3zlo07bbf.fsf@fleche.redhat.com>
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 <tromey@redhat.com>
>
> * 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. */