Change generate_errors.pl to call perl grep

Change the script generate_errors.pl to call the grep function in Perl
instead of calling the external tool grep directly as this causes
problems when ANSI escape sequences are included in the grep output
string.
This commit is contained in:
Andres Amaya Garcia 2017-10-09 17:22:07 +01:00
parent 86968c6dd1
commit 36855d66bb

View file

@ -46,7 +46,14 @@ close(FORMAT_FILE);
$/ = $line_separator;
open(GREP, "grep \"define MBEDTLS_ERR_\" $include_dir/* |") || die("Failure when calling grep: $!");
my @files = <$include_dir/*>;
my @matches;
foreach my $file (@files) {
open(FILE, "$file");
my @grep_res = grep(/define MBEDTLS_ERR_/, <FILE>);
push(@matches, @grep_res);
close FILE;
}
my $ll_old_define = "";
my $hl_old_define = "";
@ -58,7 +65,8 @@ my $headers = "";
my %error_codes_seen;
while (my $line = <GREP>)
foreach my $line (@matches)
{
next if ($line =~ /compat-1.2.h/);
my ($error_name, $error_code) = $line =~ /(MBEDTLS_ERR_\w+)\s+\-(0x\w+)/;