Remove commented out code
[pspp] / src / language / data-io / matrix-reader.c
index 861937d32c7b4da4a81dbbe21331bd270b7fed99..c0cee0474310b5b1ad3e9a47c792d6e316baad34 100644 (file)
@@ -77,7 +77,6 @@ s_0 ROWTYPE_   VARNAME_   v_0         v_1         v_2
 
 struct matrix_reader
 {
-  const struct dictionary *dict;
   const struct variable *varname;
   const struct variable *rowtype;
   struct casegrouper *grouper;
@@ -85,9 +84,6 @@ struct matrix_reader
   gsl_matrix *n_vectors;
   gsl_matrix *mean_vectors;
   gsl_matrix *var_vectors;
-
-  //  gsl_matrix *correlation;
-  //  gsl_matrix *covariance;
 };
 
 struct matrix_reader *
@@ -96,7 +92,6 @@ create_matrix_reader_from_case_reader (const struct dictionary *dict, struct cas
 {
   struct matrix_reader *mr = xzalloc (sizeof *mr);
 
-  mr->dict = dict;
   mr->varname = dict_lookup_var (dict, "varname_");
   if (mr->varname == NULL)
     {
@@ -105,6 +100,14 @@ create_matrix_reader_from_case_reader (const struct dictionary *dict, struct cas
       return NULL;
     }
 
+  if (!var_is_alpha (mr->varname))
+    {
+      msg (ME, _("Matrix dataset variable %s should be of string type."),
+          "VARNAME_");
+      free (mr);
+      return NULL;
+    }
+
   mr->rowtype = dict_lookup_var (dict, "rowtype_");
   if (mr->rowtype == NULL)
     {
@@ -113,6 +116,14 @@ create_matrix_reader_from_case_reader (const struct dictionary *dict, struct cas
       return NULL;
     }
 
+  if (!var_is_alpha (mr->rowtype))
+    {
+      msg (ME, _("Matrix dataset variable %s should be of string type."),
+          "ROWTYPE_");
+      free (mr);
+      return NULL;
+    }
+
   size_t dvarcnt;
   const struct variable **dvars = NULL;
   dict_get_vars (dict, &dvars, &dvarcnt, DC_SCRATCH);
@@ -207,7 +218,7 @@ next_matrix_from_reader (struct matrix_material *mm,
       char s[w];
       memset (s, 0, w);
       const char *name = var_get_name (vars[i]);
-      strcpy (s, name);
+      strncpy (s, name, w);
       unsigned long h = hash_bytes (s, w, 0);
       table[i] = h;
     }