diff options
author | Richard Levitte <levitte@openssl.org> | 2019-11-04 10:29:53 +0100 |
---|---|---|
committer | Richard Levitte <levitte@openssl.org> | 2019-11-05 22:44:21 +0100 |
commit | 81ddd952ea1c4f80df45435fb927fd0c6314a008 (patch) | |
tree | 3135bf043fbc89abc626fd9be5825bd638f17ea6 /util | |
parent | 3da95f3c5159b8404917e3ff349566488c28f798 (diff) |
OpenSSL::Ordinals: add a renumber() function, to assign unassigned symbols
This should be used when it's time to assign constant numbers to the
unassigned symbols.
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Paul Dale <paul.dale@oracle.com>
(Merged from https://github.com/openssl/openssl/pull/10348)
Diffstat (limited to 'util')
-rw-r--r-- | util/perl/OpenSSL/Ordinals.pm | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/util/perl/OpenSSL/Ordinals.pm b/util/perl/OpenSSL/Ordinals.pm index 55d5b2f0e3..411cdc9d60 100644 --- a/util/perl/OpenSSL/Ordinals.pm +++ b/util/perl/OpenSSL/Ordinals.pm @@ -169,7 +169,26 @@ sub load { return 1; } -=item B<$ordinals-E<gt>rewrite> +=item B<< $ordinals->renumber >> + +Renumber any item that doesn't have an assigned number yet. + +=cut + +sub renumber { + my $self = shift; + + my $max_assigned = 0; + foreach ($self->items(by => by_number())) { + $_->number($_->intnum()) if $_->number() =~ m|^\?|; + if ($max_assigned < $_->number()) { + $max_assigned = $_->number(); + } + } + $self->{maxassigned} = $max_assigned; +} + +=item B<< $ordinals->rewrite >> If an ordinals file has been loaded, it gets rewritten with the data from the current work database. |