/* environ.c -- library for manipulating environments for GNU.
- Copyright (C) 1986, 1989-1995, 2000, 2003, 2005, 2007-2012 Free
- Software Foundation, Inc.
+ Copyright (C) 1986-2016 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
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. */
-#define min(a, b) ((a) < (b) ? (a) : (b))
-#define max(a, b) ((a) > (b) ? (a) : (b))
-
#include "defs.h"
#include "environ.h"
-#include "gdb_string.h"
+#include <algorithm>
\f
/* Return a new environment object. */
{
struct gdb_environ *e;
- e = (struct gdb_environ *) xmalloc (sizeof (struct gdb_environ));
+ e = XNEW (struct gdb_environ);
e->allocated = 10;
e->vector = (char **) xmalloc ((e->allocated + 1) * sizeof (char *));
if (e->allocated < i)
{
- e->allocated = max (i, e->allocated + 10);
+ e->allocated = std::max (i, e->allocated + 10);
e->vector = (char **) xrealloc ((char *) e->vector,
(e->allocated + 1) * sizeof (char *));
}
while (--i >= 0)
{
int len = strlen (e->vector[i]);
- char *new = (char *) xmalloc (len + 1);
+ char *newobj = (char *) xmalloc (len + 1);
- memcpy (new, e->vector[i], len + 1);
- e->vector[i] = new;
+ memcpy (newobj, e->vector[i], len + 1);
+ e->vector[i] = newobj;
}
}
/* Remove the setting for variable VAR from environment E. */
void
-unset_in_environ (struct gdb_environ *e, char *var)
+unset_in_environ (struct gdb_environ *e, const char *var)
{
int len = strlen (var);
char **vector = e->vector;