generate_errors.pl: refactor and simplify the code
diff --git a/scripts/generate_errors.pl b/scripts/generate_errors.pl
index ec55068..2fe202e 100755
--- a/scripts/generate_errors.pl
+++ b/scripts/generate_errors.pl
@@ -54,31 +54,19 @@
$/ = $line_separator;
-my %files;
-
-if( $include_crypto ) {
- my @crypto_headers = <$crypto_dir/$include_dir/*.h>;
- my @mbedtls_files = <$include_dir/*.h>;
- $files{$_}++ for (@crypto_headers);
-
- foreach my $file (@mbedtls_files) {
- my $stripped_filename = substr($file, rindex($file,"/")+1, length($file)-rindex($file,"/")-1);
- my $crypto_counterpart = "$crypto_dir/$include_dir/$stripped_filename";
- if ( exists $files{$crypto_counterpart} ){
- next;
- }
- else{
- push(@{$files{$file}});
- }
+my @headers = ();
+if ($include_crypto) {
+ @headers = <$crypto_dir/$include_dir/*.h>;
+ foreach my $header (<$include_dir/*.h>) {
+ my $basename = $header; $basename =~ s!.*/!!;
+ push @headers, $header unless -e "$crypto_dir/$include_dir/$basename";
}
-}
-else{
- my @headers = <$include_dir/*.h>;
- $files{$_}++ for (@headers);
+} else {
+ @headers = <$include_dir/*.h>;
}
my @matches;
-foreach my $file (sort keys %files) {
+foreach my $file (@headers) {
open(FILE, "$file");
my @grep_res = grep(/^\s*#define\s+MBEDTLS_ERR_\w+\s+\-0x[0-9A-Fa-f]+/, <FILE>);
push(@matches, @grep_res);