02111-1307, USA. */
#include <config.h>
+#include "value-labels.h"
#include <assert.h>
#include <stdlib.h>
#include <string.h>
#include "alloc.h"
#include "hash.h"
-#include "value-labels.h"
static hsh_compare_func compare_int_val_lab;
static hsh_hash_func hash_int_val_lab;
struct atom;
static struct atom *atom_create (const char *string);
static void atom_destroy (struct atom *);
-static const char *atom_to_string (const struct atom *);
+static char *atom_to_string (const struct atom *);
/* A set of value labels. */
struct val_labs
void
val_labs_destroy (struct val_labs *vls)
{
- if (vls != NULL && vls->labels != NULL)
- hsh_destroy (vls->labels);
+ if (vls != NULL)
+ {
+ if (vls->labels != NULL)
+ hsh_destroy (vls->labels);
+ free (vls);
+ }
}
/* Removes all the value labels from VLS. */
returns the label; otherwise, returns a null pointer. If
VLS's width is greater than MAX_SHORT_STRING, always returns a
null pointer. */
-const char *
+char *
val_labs_find (const struct val_labs *vls, union value value)
{
assert (vls != NULL);
/* Free a value label. */
void
-free_int_val_lab (void *vl_, void *vls_ unused)
+free_int_val_lab (void *vl_, void *vls_ UNUSED)
{
struct int_val_lab *vl = vl_;
}
/* Returns the string associated with ATOM. */
-static const char *
+static char *
atom_to_string (const struct atom *atom)
{
assert (atom != NULL);
/* A hsh_compare_func that compares A and B. */
static int
-compare_atoms (const void *a_, const void *b_, void *aux unused)
+compare_atoms (const void *a_, const void *b_, void *aux UNUSED)
{
const struct atom *a = a_;
const struct atom *b = b_;
/* A hsh_hash_func that hashes ATOM. */
static unsigned
-hash_atom (const void *atom_, void *aux unused)
+hash_atom (const void *atom_, void *aux UNUSED)
{
const struct atom *atom = atom_;
/* A hsh_free_func that destroys ATOM. */
static void
-free_atom (void *atom_, void *aux unused)
+free_atom (void *atom_, void *aux UNUSED)
{
struct atom *atom = atom_;