summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Levitte <levitte@openssl.org>2015-04-08 19:26:11 +0200
committerRichard Levitte <levitte@openssl.org>2015-04-08 21:56:03 +0200
commit32fbe9149e01dc79d97efe13aff2054f77045afb (patch)
tree5f482bb746390796e6e09dda87d565d67385e2ac
parent246b35a96e6402583825fcee6a4ce5305e26ec76 (diff)
Have mkerr.pl treat already existing multiline string defs properly
Since source reformat, we ended up with some error reason string definitions that spanned two lines. That in itself is fine, but we sometimes edited them to provide better strings than what could be automatically determined from the reason macro, for example: {ERR_REASON(SSL_R_NO_GOST_CERTIFICATE_SENT_BY_PEER), "Peer haven't sent GOST certificate, required for selected ciphersuite"}, However, mkerr.pl didn't treat those two-line definitions right, and they ended up being retranslated to whatever the macro name would indicate, for example: {ERR_REASON(SSL_R_NO_GOST_CERTIFICATE_SENT_BY_PEER), "No gost certificate sent by peer"}, Clearly not what we wanted. This change fixes this problem. Reviewed-by: Matt Caswell <matt@openssl.org> (cherry picked from commit 2cfdfe0918f03f8323c9523a2beb2b363ae86ca7) Conflicts: util/mkerr.pl
-rw-r--r--util/mkerr.pl12
1 files changed, 10 insertions, 2 deletions
diff --git a/util/mkerr.pl b/util/mkerr.pl
index 8109ab6df9..23e346a946 100644
--- a/util/mkerr.pl
+++ b/util/mkerr.pl
@@ -452,9 +452,17 @@ EOF
# First, read any existing reason string definitions:
my %err_reason_strings;
if (open(IN,"<$cfile")) {
+ my $line = "";
while (<IN>) {
- if (/\b(${lib}_R_\w*)\b.*\"(.*)\"/) {
- $err_reason_strings{$1} = $2;
+ chomp;
+ $_ = $line . $_;
+ $line = "";
+ if (/{ERR_REASON\(/) {
+ if (/\b(${lib}_R_\w*)\b.*\"(.*)\"/) {
+ $err_reason_strings{$1} = $2;
+ } else {
+ $line = $_;
+ }
}
}
close(IN);