summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRich Salz <rsalz@akamai.com>2019-08-12 21:50:51 +0200
committerRich Salz <rsalz@akamai.com>2019-09-19 15:27:38 +0200
commit8c0e76813af6a886f66d3e95b908c6c924d2a6ad (patch)
tree95865fd3e64fdc3f5b972e7ef4094f9377a71085
parentDeprecate XXXerr() macros (diff)
downloadopenssl-8c0e76813af6a886f66d3e95b908c6c924d2a6ad.tar.xz
openssl-8c0e76813af6a886f66d3e95b908c6c924d2a6ad.zip
Add merge-err-lines script
Reviewed-by: Dmitry Belyavskiy <beldmit@gmail.com> Reviewed-by: Richard Levitte <levitte@openssl.org> (Merged from https://github.com/openssl/openssl/pull/9441)
-rwxr-xr-xutil/err-to-raise8
-rwxr-xr-xutil/merge-err-lines29
2 files changed, 31 insertions, 6 deletions
diff --git a/util/err-to-raise b/util/err-to-raise
index 125269fee5..a62ee3b790 100755
--- a/util/err-to-raise
+++ b/util/err-to-raise
@@ -10,12 +10,8 @@
# perl -pi util/err-to-error files...
# or
# git ls-files | grep '\.c$' | xargs perl -pi util/err-to-raise
-
-# There will be some hand-edits necessary, when the second arg was on a
-# separate line. This command will find them:
-# git grep -E '[A-Z0-9_]+err\('
-# There are about 500 such lines. Another script looks for such things
-# and tries to merge lines.
+# Consider running util/merge-err-lines first, to catch most (all?) of the
+# cases where the XXXerr() call is split into two lines.
# Also, what to do about the engines files? This includes:
# AFALGerr, CAPIerr, DASYNC, OSSLTEST
diff --git a/util/merge-err-lines b/util/merge-err-lines
new file mode 100755
index 0000000000..33644fa12e
--- /dev/null
+++ b/util/merge-err-lines
@@ -0,0 +1,29 @@
+#! /usr/bin/env perl
+# Copyright 2019 The OpenSSL Project Authors. All Rights Reserved.
+#
+# Licensed under the Apache License 2.0 (the "License"). You may not use
+# this file except in compliance with the License. You can obtain a copy
+# in the file LICENSE in the source distribution or at
+# https://www.openssl.org/source/license.html
+
+# Sometimes calls to XXXerr() are split into two lines, because the define'd
+# names are very long. This script looks for those lines and merges them.
+# It should be run before the "err-to-raise" script.
+
+# Run this program like this:
+# perl -pi util/merge-err-lines files...
+# or
+# git grep -l '[A-Z0-9]err([^)]*$' | xargs perl -pi util/merge-err-lines
+
+use strict;
+use warnings;
+
+# Look for "{whitespace}XXXerr(no-close-paren{WHITESPACE}" lines
+if ( /^ *[_A-Z0-9]+err\([^)]+ *$/ ) {
+ my $copy = $_;
+ chop($copy);
+ $copy =~ s/ +$//;
+ my $next = <>;
+ $next =~ s/^ +//;
+ $_ = $copy . ' ' . $next;
+}