X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fdata%2Fvalue-labels.h;h=6cb5259edb2fe22a28b53b49bba4a8e2e9fb1b1c;hb=81579d9e9f994fb2908f50af41c3eb033d216e58;hp=53d13a389700eb586af6aaf14bd82bd540311235;hpb=5c3291dc396b795696e94f47780308fd7ace6fc4;p=pspp-builds.git diff --git a/src/data/value-labels.h b/src/data/value-labels.h index 53d13a38..6cb5259e 100644 --- a/src/data/value-labels.h +++ b/src/data/value-labels.h @@ -1,5 +1,5 @@ /* PSPP - a program for statistical analysis. - Copyright (C) 1997-9, 2000, 2009 Free Software Foundation, Inc. + Copyright (C) 1997-9, 2000, 2009, 2011 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 @@ -27,8 +27,8 @@ #include #include -#include -#include +#include "data/value.h" +#include "libpspp/hmap.h" /* One value label. @@ -38,7 +38,7 @@ struct val_lab { struct hmap_node node; /* Node in hash map. */ union value value; /* The value being labeled. */ - struct atom *label; /* A ref-counted string. */ + const char *label; /* An interned string. */ }; /* Returns the value in VL. The caller must not modify or free @@ -52,7 +52,13 @@ static inline const union value *val_lab_get_value (const struct val_lab *vl) return &vl->value; } -const char *val_lab_get_label (const struct val_lab *); +/* Returns the label in VL. The caller must not modify or free the returned + value. */ +static inline const char * +val_lab_get_label (const struct val_lab *vl) +{ + return vl->label; +} /* A set of value labels. */ struct val_labs @@ -70,7 +76,7 @@ size_t val_labs_count (const struct val_labs *); /* Looking up value labels. */ const char *val_labs_find (const struct val_labs *, const union value *); -const struct val_lab *val_labs_lookup (const struct val_labs *, +struct val_lab *val_labs_lookup (const struct val_labs *, const union value *); /* Basic properties. */ @@ -82,7 +88,7 @@ void val_labs_set_width (struct val_labs *, int new_width); /* Adding value labels. */ bool val_labs_add (struct val_labs *, const union value *, const char *); void val_labs_replace (struct val_labs *, const union value *, const char *); -void val_labs_remove (struct val_labs *, const struct val_lab *); +void val_labs_remove (struct val_labs *, struct val_lab *); /* Iterating through value labels. */ const struct val_lab *val_labs_first (const struct val_labs *);