/* environ.c -- library for manipulating environments for GNU.
- Copyright (C) 1986, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 2000, 2005
- 2003, 2007, 2008, 2009 Free Software Foundation, Inc.
+ Copyright (C) 1986-2013 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
#include "defs.h"
#include "environ.h"
-#include "gdb_string.h"
+#include <string.h>
\f
/* Return a new environment object. */
{
int len = strlen (e->vector[i]);
char *new = (char *) xmalloc (len + 1);
+
memcpy (new, e->vector[i], len + 1);
e->vector[i] = new;
}
xfree (s);
/* Walk through the vector, shuffling args down by one, including
the NULL terminator. Can't use memcpy() here since the regions
- overlap, and memmove() might not be available. */
+ overlap, and memmove() might not be available. */
while ((vector[0] = vector[1]) != NULL)
{
vector++;