missing values. (Long string variables never accept missing
values.) */
bool
-mv_add_str (struct missing_values *mv, const unsigned char s[])
+mv_add_str (struct missing_values *mv, const char s[])
{
assert (mv->width > 0);
return mv_add_value (mv, (union value *) s);
/* Attempts to add range [LOW, HIGH] to the set of numeric
missing values MV. Returns true if successful, false if MV
- has no room for a range. */
+ has no room for a range, or if LOW > HIGH. */
bool
mv_add_num_range (struct missing_values *mv, double low, double high)
{
assert (mv->width == 0);
+ if (low > high)
+ return false;
switch (mv->type)
{
case MV_NONE:
NEW_WIDTH (inclusive) and OLD_WIDTH (exclusive),
false otherwise. */
static bool
-can_resize_string (const unsigned char *s, int old_width, int new_width)
+can_resize_string (const char *s, int old_width, int new_width)
{
int i;
MV must be a set of string missing values.
S[] must contain exactly as many characters as MV's width. */
bool
-mv_is_str_missing (const struct missing_values *mv,
- const unsigned char s[])
+mv_is_str_missing (const struct missing_values *mv, const char s[])
{
return mv_is_str_user_missing (mv, s);
}
S[] must contain exactly as many characters as MV's width. */
bool
mv_is_str_user_missing (const struct missing_values *mv,
- const unsigned char s[])
+ const char s[])
{
const union value *v = mv->values;
assert (mv->width > 0);