diff options
Diffstat (limited to '')
-rwxr-xr-x | util/mkdef.pl | 4 | ||||
-rw-r--r-- | util/perl/OpenSSL/ParseC.pm | 9 |
2 files changed, 8 insertions, 5 deletions
diff --git a/util/mkdef.pl b/util/mkdef.pl index b40fd2654f..9cb1147d28 100755 --- a/util/mkdef.pl +++ b/util/mkdef.pl @@ -193,8 +193,8 @@ sub feature_filter { if ($apiv) { foreach (@features) { - next unless /^DEPRECATEDIN_(\d+)_(\d+)_(\d+)$/; - my $symdep = sprintf "%x%02x%02x", $1, $2, $3; + next unless /^DEPRECATEDIN_(\d+)(?:_(\d+)_(\d+))?$/; + my $symdep = sprintf "%x%02x%02x", $1, ($2 // 0), ($3 // 0); $verdict = 0 if $apiv ge $symdep; } } diff --git a/util/perl/OpenSSL/ParseC.pm b/util/perl/OpenSSL/ParseC.pm index ba2427ccfa..81472ef5eb 100644 --- a/util/perl/OpenSSL/ParseC.pm +++ b/util/perl/OpenSSL/ParseC.pm @@ -72,11 +72,14 @@ my @opensslcpphandlers = ( if ($op ne '<' && $op ne '>=') { die "Error: unacceptable operator $op: $_[0]\n"; } - my ($one, $major, $minor) = + my ($major, $minor, $edit) = ( ($v >> 28) & 0xf, ($v >> 20) & 0xff, ($v >> 12) & 0xff ); - my $t = "DEPRECATEDIN_${one}_${major}_${minor}"; + my $t = "DEPRECATEDIN_" . + ($major <= 1 + ? "${major}_${minor}_${edit}" + : "${major}"); my $cond = $op eq '<' ? 'ifndef' : 'ifdef'; return (<<"EOF"); #$cond $t @@ -284,7 +287,7 @@ EOF # We trick the parser by pretending that the declaration is wrapped in a # check if the DEPRECATEDIN macro is defined or not. Callers of parse() # will have to decide what to do with it. - { regexp => qr/(DEPRECATEDIN_\d+_\d+_\d+)<<<\((.*)\)>>>/, + { regexp => qr/(DEPRECATEDIN_\d+(?:_\d+_\d+)?)<<<\((.*)\)>>>/, massager => sub { return (<<"EOF"); #ifndef $1 $2; |