static void print_ifdef_hunk (struct change *hunk) { lin first0, last0, first1, last1; /* Determine range of line numbers involved in each file. */ enum changes changes = analyze_hunk (hunk, &first0, &last0, &first1, &last1); if (!changes) return; begin_output (); /* Print lines up to this change. */ if (next_line0 < first0 || next_line1 < first1) format_ifdef (group_format[UNCHANGED], next_line0, first0, next_line1, first1); /* Print this change. */ next_line0 = last0 + 1; next_line1 = last1 + 1; format_ifdef (group_format[changes], first0, next_line0, first1, next_line1); }
void print_ifdef_script (struct change *script) { next_line = - files[0].prefix_lines; print_script (script, find_change, print_ifdef_hunk); if (next_line < files[0].valid_lines) { begin_output (); format_ifdef (group_format[UNCHANGED], next_line, files[0].valid_lines, next_line - files[0].valid_lines + files[1].valid_lines, files[1].valid_lines); } }