+static void call_diff_setup(void)
+{
+ diff_setup(reverse_diff);
+}
+
+static int call_diff_flush(void)
+{
+ if (detect_rename)
+ diffcore_rename(detect_rename, diff_score_opt);
+ diffcore_prune();
+ if (pickaxe) {
+ diffcore_pickaxe(pickaxe);
+ if (diff_queue_is_empty()) {
+ diff_flush(DIFF_FORMAT_NO_OUTPUT);
+ return 0;
+ }
+ }
+ if (nr_paths)
+ diffcore_pathspec(paths);
+ if (header) {
+ printf("%s", header);
+ header = NULL;
+ }
+ diff_flush(diff_output_format);
+ return 1;
+}
+