case-map: Optimize case_map_create_output_translator() for no-op case.
authorBen Pfaff <blp@cs.stanford.edu>
Sun, 5 Mar 2023 19:04:29 +0000 (11:04 -0800)
committerBen Pfaff <blp@cs.stanford.edu>
Sun, 5 Mar 2023 19:25:44 +0000 (11:25 -0800)
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. */