removed double-counted sample size
[pspp-builds.git] / src / vars-atr.c
index 356f51a46afef3843b8311ddb29e24e005c96a43..5e34cb5946aa410aca09a922a1642ebea90d1e09 100644 (file)
@@ -34,6 +34,9 @@
 #include "value-labels.h"
 #include "vfm.h"
 
+#include "gettext.h"
+#define _(msgid) gettext (msgid)
+
 #include "debug-print.h"
 
 /* Assign auxiliary data AUX to variable V, which must not
@@ -138,109 +141,6 @@ discard_variables (void)
 
   pgm_state = STATE_INIT;
 }
-
-/* Return nonzero only if X is a user-missing value for numeric
-   variable V. */
-inline int
-is_num_user_missing (double x, const struct variable *v)
-{
-  switch (v->miss_type)
-    {
-    case MISSING_NONE:
-      return 0;
-    case MISSING_1:
-      return x == v->missing[0].f;
-    case MISSING_2:
-      return x == v->missing[0].f || x == v->missing[1].f;
-    case MISSING_3:
-      return (x == v->missing[0].f || x == v->missing[1].f
-              || x == v->missing[2].f);
-    case MISSING_RANGE:
-      return x >= v->missing[0].f && x <= v->missing[1].f;
-    case MISSING_LOW:
-      return x <= v->missing[0].f;
-    case MISSING_HIGH:
-      return x >= v->missing[0].f;
-    case MISSING_RANGE_1:
-      return ((x >= v->missing[0].f && x <= v->missing[1].f)
-             || x == v->missing[2].f);
-    case MISSING_LOW_1:
-      return x <= v->missing[0].f || x == v->missing[1].f;
-    case MISSING_HIGH_1:
-      return x >= v->missing[0].f || x == v->missing[1].f;
-    default:
-      assert (0);
-    }
-  abort ();
-}
-
-/* Return nonzero only if string S is a user-missing variable for
-   string variable V. */
-inline int
-is_str_user_missing (const unsigned char s[], const struct variable *v)
-{
-  /* FIXME: should these be memcmp()? */
-  switch (v->miss_type)
-    {
-    case MISSING_NONE:
-      return 0;
-    case MISSING_1:
-      return !strncmp (s, v->missing[0].s, v->width);
-    case MISSING_2:
-      return (!strncmp (s, v->missing[0].s, v->width)
-             || !strncmp (s, v->missing[1].s, v->width));
-    case MISSING_3:
-      return (!strncmp (s, v->missing[0].s, v->width)
-             || !strncmp (s, v->missing[1].s, v->width)
-             || !strncmp (s, v->missing[2].s, v->width));
-    default:
-      assert (0);
-    }
-  abort ();
-}
-
-/* Return nonzero only if value VAL is system-missing for variable
-   V. */
-int
-is_system_missing (const union value *val, const struct variable *v)
-{
-  return v->type == NUMERIC && val->f == SYSMIS;
-}
-
-/* Return nonzero only if value VAL is system- or user-missing for
-   variable V. */
-int
-is_missing (const union value *val, const struct variable *v)
-{
-  switch (v->type)
-    {
-    case NUMERIC:
-      if (val->f == SYSMIS)
-       return 1;
-      return is_num_user_missing (val->f, v);
-    case ALPHA:
-      return is_str_user_missing (val->s, v);
-    default:
-      assert (0);
-    }
-  abort ();
-}
-
-/* Return nonzero only if value VAL is user-missing for variable V. */
-int
-is_user_missing (const union value *val, const struct variable *v)
-{
-  switch (v->type)
-    {
-    case NUMERIC:
-      return is_num_user_missing (val->f, v);
-    case ALPHA:
-      return is_str_user_missing (val->s, v);
-    default:
-      assert (0);
-    }
-  abort ();
-}
 \f
 /* Returns true if NAME is an acceptable name for a variable,
    false otherwise.  If ISSUE_ERROR is true, issues an
@@ -263,7 +163,7 @@ var_is_valid_name (const char *name, bool issue_error)
     {
       if (issue_error)
         msg (SE, _("Variable name %s exceeds %d-character limit."),
-             (int) LONG_NAME_LEN);
+             name, (int) LONG_NAME_LEN);
       return false;
     }
 
@@ -273,7 +173,7 @@ var_is_valid_name (const char *name, bool issue_error)
         if (issue_error)
           msg (SE, _("Character `%c' (in %s) may not appear in "
                      "a variable name."),
-               name);
+               name[i], name);
         return false;
       }
         
@@ -281,7 +181,8 @@ var_is_valid_name (const char *name, bool issue_error)
     {
       if (issue_error)
         msg (SE, _("Character `%c' (in %s), may not appear "
-                   "as the first character in a variable name."), name);
+                   "as the first character in a variable name."),
+             name[0], name);
       return false;
     }