/* Implementation of the GDB variable objects API.
- Copyright 1999, 2000 Free Software Foundation, Inc.
+ Copyright 1999, 2000, 2001 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
/* Pointer to the varobj hash table (built at run time) */
static struct vlist **varobj_table;
-#if defined(FREEIF)
-#undef FREEIF
-#endif
-#define FREEIF(x) if (x != NULL) free((char *) (x))
-
/* Is the variable X one of our "fake" children? */
#define CPLUS_FAKE_CHILD(x) \
((x) != NULL && (x)->type == NULL && (x)->value == NULL)
if (!gdb_evaluate_expression (exp, &value))
{
/* We cannot proceed without a valid expression. */
- FREEIF (exp);
+ xfree (exp);
return 0;
}
yet been installed, don't report it, it belongs to the caller... */
if (var->obj_name != NULL)
{
- cppush (resultp, strdup (var->obj_name));
+ cppush (resultp, xstrdup (var->obj_name));
*delcountp = *delcountp + 1;
}
if (var->root->rootvar == var)
{
free_current_contents ((char **) &var->root->exp);
- FREEIF (var->root);
+ xfree (var->root);
}
- FREEIF (var->name);
- FREEIF (var->obj_name);
- FREEIF (var);
+ xfree (var->name);
+ xfree (var->obj_name);
+ xfree (var);
}
static void