X-Git-Url: https://ruderich.org/simon/gitweb/?a=blobdiff_plain;f=bin%2Fblhc;h=618fa7698dc69406157114cd56bcd866dcdfc31d;hb=2fe2ed37ef0b9093272f674bd9323a3516af7b40;hp=5443eef5a4226db9e3c64a315d602b0eb470131f;hpb=124a578b28479e28b9d801888f6a5c93666c24d3;p=blhc%2Fblhc.git diff --git a/bin/blhc b/bin/blhc index 5443eef..618fa76 100755 --- a/bin/blhc +++ b/bin/blhc @@ -452,15 +452,17 @@ while (my $line = <>) { # Ignore compiler warnings for now. next if $line =~ /$warning_regex/o; - # Remove all ANSI color sequences which are sometimes used in non-verbose - # builds. - $line = Term::ANSIColor::colorstrip($line); - # Also strip '\0xf' (delete previous character), used by Elinks' build - # system. - $line =~ s/\x0f//g; - # And "ESC(B" which seems to be used on armhf and hurd (not sure what it - # does). - $line =~ s/\033\(B//g; + if ($line =~ /\033/) { # esc + # Remove all ANSI color sequences which are sometimes used in + # non-verbose builds. + $line = Term::ANSIColor::colorstrip($line); + # Also strip '\0xf' (delete previous character), used by Elinks' build + # system. + $line =~ s/\x0f//g; + # And "ESC(B" which seems to be used on armhf and hurd (not sure what + # it does). + $line =~ s/\033\(B//g; + } # Check if this line indicates a non verbose build. my $non_verbose = is_non_verbose_build($line); @@ -469,12 +471,13 @@ while (my $line = <>) { # line. parse_line() is slow, only use it when necessary. my @line = (not $line =~ /;/) ? ($line) - : Text::ParseWords::parse_line(';', 1, $line); + : map { + # Ensure newline at the line end - necessary for correct + # parsing later. + $_ =~ s/\s+$//; + $_ .= "\n"; + } Text::ParseWords::parse_line(';', 1, $line); foreach $line (@line) { - # Add newline, drop all other whitespace at the end of a line. - $line =~ s/\s+$//; - $line .= "\n"; - if ($continuation) { $continuation = 0; @@ -558,12 +561,12 @@ if ($option_arch) { # Check the specified hardening options, same order as dpkg-buildflags. if ($harden_pie) { - @cflags = (@cflags, @cflags_pie); + @cflags = (@cflags, @cflags_pie); @cxxflags = (@cxxflags, @cflags_pie); - @ldflags = (@ldflags, @ldflags_pie); + @ldflags = (@ldflags, @ldflags_pie); } if ($harden_stack) { - @cflags = (@cflags, @cflags_stack); + @cflags = (@cflags, @cflags_stack); @cxxflags = (@cxxflags, @cflags_stack); } if ($harden_fortify) { @@ -572,7 +575,7 @@ if ($harden_fortify) { @cppflags = (@cppflags, @cppflags_fortify); } if ($harden_format) { - @cflags = (@cflags, @cflags_format); + @cflags = (@cflags, @cflags_format); @cxxflags = (@cxxflags, @cflags_format); } if ($harden_relro) {