case-map: Make creating a case_map destroy the stage.
[pspp] / src / language / commands / save.c
index ab63c525474fe0cac47514c254f0446db7936240..8dbb6cd3d1be27ce0204fbdbb5481cb3a324ad51 100644 (file)
@@ -310,7 +310,6 @@ parse_write_command (struct lexer *lexer, struct dataset *ds,
     }
 
   dict_delete_scratch_vars (dict);
-  dict_compact_values (dict);
 
   if (handle)
     {
@@ -342,10 +341,8 @@ parse_write_command (struct lexer *lexer, struct dataset *ds,
         goto error;
     }
 
-  map = case_map_stage_get_case_map (stage);
-  case_map_stage_destroy (stage);
-  if (map != NULL)
-    writer = case_map_create_output_translator (map, writer);
+  writer = case_map_create_output_translator (
+    case_map_stage_to_case_map (stage), writer);
   dict_unref (dict);
 
   fh_unref (handle);