Fix patch mangling with --inline option
authorTom de Vries <tom@codesourcery.com>
Fri, 14 Nov 2014 12:09:45 +0000 (12:09 +0000)
committerTom de Vries <vries@gcc.gnu.org>
Fri, 14 Nov 2014 12:09:45 +0000 (12:09 +0000)
2014-11-14  Tom de Vries  <tom@codesourcery.com>

* mklog: Move reading of .diff file up and add comment.  Copy diff_lines
to orig_diff_lines.  Use orig_diff_lines when appending patch.

From-SVN: r217558

contrib/ChangeLog
contrib/mklog

index 2484d86e20d8a2d39f3c25795d3ac27494b4d9a7..60257c48e07156dcdd6f539408f1e4bb957c8d3f 100644 (file)
@@ -1,3 +1,8 @@
+2014-11-14  Tom de Vries  <tom@codesourcery.com>
+
+       * mklog: Move reading of .diff file up and add comment.  Copy diff_lines
+       to orig_diff_lines.  Use orig_diff_lines when appending patch.
+
 2014-11-11  David Malcolm  <dmalcolm@redhat.com>
 
        * ChangeLog.jit: New.
index 8412d38fbf678f20c3cb5e42cb3dc364d7f913d3..840f6f8c2663e912277b2341d8bcffe294177275 100755 (executable)
@@ -132,15 +132,23 @@ sub is_top_level {
        return $function && $function !~ /^[\s{]/;
 }
 
+# Read contents of .diff file
+open (DFILE, $diff) or die "Could not open file $diff for reading";
+chomp (my @diff_lines = <DFILE>);
+close (DFILE);
+
+# Array diff_lines is modified by the log generation, so save a copy in
+# orig_diff_lines if needed.
+if ($inline) {
+    @orig_diff_lines = @diff_lines;
+}
+
 # For every file in the .diff print all the function names in ChangeLog
 # format.
 %cl_entries = ();
 $change_msg = undef;
 $look_for_funs = 0;
 $clname = get_clname('');
-open (DFILE, $diff) or die "Could not open file $diff for reading";
-chomp (my @diff_lines = <DFILE>);
-close (DFILE);
 $line_idx = 0;
 foreach (@diff_lines) {
     # Stop processing functions if we found a new file.
@@ -313,7 +321,7 @@ foreach my $clname (keys %cl_entries) {
 
 if ($inline) {
        # Append the patch to the log
-       foreach (@diff_lines) {
+       foreach (@orig_diff_lines) {
                print OUTPUTFILE "$_\n";
        }
 }