Written by Fred Fish <fnf@cygnus.com>
Rewritten by Jim Blandy <jimb@cygnus.com>
- Copyright (C) 1999, 2000, 2002, 2003, 2007, 2008, 2009, 2010, 2011
- Free Software Foundation, Inc.
+ Copyright (C) 1999-2015 Free Software Foundation, Inc.
This file is part of GDB.
#include "defs.h"
#include "gdb_obstack.h"
#include "bcache.h"
-#include "gdb_string.h" /* For memcpy declaration */
-#include "gdb_assert.h"
-
-#include <stddef.h>
-#include <stdlib.h>
/* The type used to hold a single bcache string. The user data is
stored in d.data. Since it can be any type, it needs to have the
/* The user's string isn't in the list. Insert it after *ps. */
{
- struct bstring *new
+ struct bstring *newobj
= obstack_alloc (&bcache->cache, BSTRING_SIZE (length));
- memcpy (&new->d.data, addr, length);
- new->length = length;
- new->next = bcache->bucket[hash_index];
- new->half_hash = half_hash;
- bcache->bucket[hash_index] = new;
+ memcpy (&newobj->d.data, addr, length);
+ newobj->length = length;
+ newobj->next = bcache->bucket[hash_index];
+ newobj->half_hash = half_hash;
+ bcache->bucket[hash_index] = newobj;
bcache->unique_count++;
bcache->unique_size += length;
if (added)
*added = 1;
- return &new->d.data;
+ return &newobj->d.data;
}
}
\f
int length))
{
/* Allocate the bcache pre-zeroed. */
- struct bcache *b = XCALLOC (1, struct bcache);
+ struct bcache *b = XCNEW (struct bcache);
if (hash_function)
b->hash_function = hash_function;
lengths, and measure chain lengths. */
{
unsigned int b;
- int *chain_length = XCALLOC (c->num_buckets + 1, int);
- int *entry_size = XCALLOC (c->unique_count + 1, int);
+ int *chain_length = XCNEWVEC (int, c->num_buckets + 1);
+ int *entry_size = XCNEWVEC (int, c->unique_count + 1);
int stringi = 0;
occupied_buckets = 0;