'cat_var'.
*/
#include <config.h>
+
+#include "category.h"
+
+#include <assert.h>
#include <stdlib.h>
+#include <string.h>
+
#include <libpspp/alloc.h>
#include <libpspp/message.h>
-#include "category.h"
#include "cat-routines.h"
-#include <string.h>
#include "variable.h"
#define N_INITIAL_CATEGORIES 1
cat_stored_values_destroy (struct variable *v)
{
assert (v != NULL);
+
if (v->obs_vals != NULL)
{
+ if (v->obs_vals->n_allocated_categories > 0)
+ {
+ free (v->obs_vals->vals);
+ v->obs_vals->vals = NULL;
+ }
free (v->obs_vals);
+ v->obs_vals = NULL;
}
}
{
candidate = v->obs_vals->vals + i;
assert (candidate != NULL);
- if (!compare_values (candidate, val, v->width))
+ if (!compare_values (candidate, val, var_get_width (v)))
{
return i;
}
{
struct cat_vals *cv;
- if (v->type == ALPHA)
+ if (var_is_alpha (v))
{
assert (val != NULL);
assert (v != NULL);