CORRELATIONS: Fixed bug displaying non-sqaure correlation matrices
[pspp] / src / language / dictionary / sys-file-info.c
index bb990c79d9e093aa28d292e2368faa34eaccdc13..441054e209b29b3dfdb7434038083dd6df11ce32 100644 (file)
@@ -81,7 +81,7 @@ cmd_sysfile_info (struct lexer *lexer, struct dataset *ds UNUSED)
   if (!h)
     return CMD_FAILURE;
 
-  reader = sfm_open_reader (h, &d, &info);
+  reader = sfm_open_reader (h, NULL, &d, &info);
   if (!reader)
     {
       fh_unref (h);
@@ -377,12 +377,15 @@ static void
 display_attributes (struct tab_table *t, const struct attrset *set, int flags,
                     int c, int r)
 {
-  struct attrset_iterator i;
-  struct attribute *attr;
+  struct attribute **attrs;
+  size_t n_attrs;
+  size_t i;
 
-  for (attr = attrset_first (set, &i); attr != NULL;
-       attr = attrset_next (set, &i)) 
+  n_attrs = attrset_count (set);
+  attrs = attrset_sorted (set);
+  for (i = 0; i < n_attrs; i++)
     {
+      const struct attribute *attr = attrs[i];
       const char *name = attribute_get_name (attr);
       size_t n_values;
       size_t i;
@@ -401,6 +404,7 @@ display_attributes (struct tab_table *t, const struct attrset *set, int flags,
           r++;
         }
     }
+  free (attrs);
 }
 
 static void