Skip to content

Commit

Permalink
Add merge-err-lines script
Browse files Browse the repository at this point in the history
Reviewed-by: Dmitry Belyavskiy <[email protected]>
Reviewed-by: Richard Levitte <[email protected]>
(Merged from openssl#9441)
  • Loading branch information
richsalz committed Sep 19, 2019
1 parent f6aca23 commit 8c0e768
Show file tree
Hide file tree
Showing 2 changed files with 31 additions and 6 deletions.
8 changes: 2 additions & 6 deletions util/err-to-raise
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
29 changes: 29 additions & 0 deletions util/merge-err-lines
Original file line number Diff line number Diff line change
@@ -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;
}

0 comments on commit 8c0e768

Please sign in to comment.