case-map: Optimize case_map_create_output_translator() for no-op case.
[pspp] / src / data / case-map.c
index 214abaf84478174ce73620cb2caca2be604bd93a..c80a6679e3ab7f4e35efef05c83cad4d0c18dda6 100644 (file)
@@ -154,11 +154,13 @@ struct casewriter *
 case_map_create_output_translator (struct case_map *map,
                                    struct casewriter *subwriter)
 {
-    return casewriter_create_translator (subwriter,
-                                         case_map_get_proto (map),
-                                         translate_case,
-                                         destroy_case_map,
-                                         map);
+  if (!map)
+    return casewriter_rename (subwriter);
+  return casewriter_create_translator (subwriter,
+                                       case_map_get_proto (map),
+                                       translate_case,
+                                       destroy_case_map,
+                                       map);
 }
 
 /* Casereader/casewriter translation callback. */