#include "missing-values.h"
#include <assert.h>
#include <stdlib.h>
-#include "str.h"
+#include <libpspp/assertion.h>
+#include <libpspp/str.h>
/* Initializes MV as a set of missing values for a variable of
case MV_RANGE_1:
return false;
}
- abort ();
+ NOT_REACHED ();
}
/* Attempts to add S to the set of string missing values MV. S
case MV_RANGE_1:
return false;
}
- abort ();
+ NOT_REACHED ();
}
/* Returns true if MV contains an individual value,
case MV_RANGE:
return false;
}
- abort ();
+ NOT_REACHED ();
}
/* Removes one individual value from MV and stores it in *V.
case MV_3:
return false;
}
- abort ();
+ NOT_REACHED ();
}
/* Removes the numeric range from MV and stores it in *LOW and
case MV_RANGE_1:
return true;
}
- abort ();
+ NOT_REACHED ();
}
/* Returns true if S contains only spaces between indexes
mv_resize (struct missing_values *mv, int width)
{
assert (mv_is_resizable (mv, width));
- if (width > mv->width)
+ if (width > mv->width && mv->type != MV_NONE)
{
int i;
case MV_RANGE_1:
return v[0].f == d || (v[1].f <= d && d <= v[2].f);
}
- abort ();
+ NOT_REACHED ();
}
/* Returns true if S[] is a missing value in MV, false otherwise.
|| !memcmp (v[2].s, s, mv->width));
case MV_RANGE:
case MV_RANGE_1:
- abort ();
+ NOT_REACHED ();
}
- abort ();
+ NOT_REACHED ();
}
/* Returns true if MV is a set of numeric missing values and V is
mv_is_value_system_missing (const struct missing_values *mv,
const union value *v)
{
- return mv->width == 0 ? v->f == SYSMIS : false;
+ return mv->width == 0 && v->f == SYSMIS;
}