src/libpspp/zip-reader.c: Possible fix for windoze ODS reading issues.
[pspp] / src / data / variable.c
index 9f21b1497be391e5a1ea635a61f7d7d9602b8085..c4bab00fc36081b15aa368ec5b57dc89b7088dfe 100644 (file)
@@ -285,8 +285,11 @@ var_set_width_and_formats (struct variable *v, int new_width,
   if (fmt_resize (&v->write, new_width))
     traits |= VAR_TRAIT_WRITE_FORMAT;
 
-  v->width = new_width;
-  traits |= VAR_TRAIT_WIDTH;
+  if (v->width != new_width)
+    {
+      v->width = new_width;
+      traits |= VAR_TRAIT_WIDTH;
+    }
 
   if (print)
     {
@@ -300,7 +303,8 @@ var_set_width_and_formats (struct variable *v, int new_width,
       traits |= VAR_TRAIT_WRITE_FORMAT;
     }
 
-  dict_var_changed (v, traits, ov);
+  if (traits != 0)
+    dict_var_changed (v, traits, ov);
 }
 
 /* Changes the width of V to NEW_WIDTH.
@@ -888,7 +892,7 @@ var_role_is_valid (enum var_role role)
     {
     case ROLE_NONE:
     case ROLE_INPUT:
-    case ROLE_OUTPUT:
+    case ROLE_TARGET:
     case ROLE_BOTH:
     case ROLE_PARTITION:
     case ROLE_SPLIT:
@@ -908,7 +912,7 @@ var_role_to_string (enum var_role role)
     case ROLE_INPUT:
       return _("Input");
 
-    case ROLE_OUTPUT:
+    case ROLE_TARGET:
       return _("Output");
 
     case ROLE_BOTH:
@@ -937,7 +941,7 @@ var_role_to_syntax (enum var_role role)
     case ROLE_INPUT:
       return "INPUT";
 
-    case ROLE_OUTPUT:
+    case ROLE_TARGET:
       return "TARGET";
 
     case ROLE_BOTH: