1e1051a39Sopenharmony_ci#! /usr/bin/env perl
2e1051a39Sopenharmony_ci# Copyright 2019 The OpenSSL Project Authors. All Rights Reserved.
3e1051a39Sopenharmony_ci#
4e1051a39Sopenharmony_ci# Licensed under the Apache License 2.0 (the "License").  You may not use
5e1051a39Sopenharmony_ci# this file except in compliance with the License.  You can obtain a copy
6e1051a39Sopenharmony_ci# in the file LICENSE in the source distribution or at
7e1051a39Sopenharmony_ci# https://www.openssl.org/source/license.html
8e1051a39Sopenharmony_ci
9e1051a39Sopenharmony_ci# Sometimes calls to XXXerr() are split into two lines, because the define'd
10e1051a39Sopenharmony_ci# names are very long.  This script looks for those lines and merges them.
11e1051a39Sopenharmony_ci# It should be run before the "err-to-raise" script.
12e1051a39Sopenharmony_ci
13e1051a39Sopenharmony_ci# Run this program like this:
14e1051a39Sopenharmony_ci#       perl -pi util/merge-err-lines files...
15e1051a39Sopenharmony_ci# or
16e1051a39Sopenharmony_ci#       git grep -l '[A-Z0-9]err([^)]*$' | xargs perl -pi util/merge-err-lines
17e1051a39Sopenharmony_ci
18e1051a39Sopenharmony_ciuse strict;
19e1051a39Sopenharmony_ciuse warnings;
20e1051a39Sopenharmony_ci
21e1051a39Sopenharmony_ci# Look for "{whitespace}XXXerr(no-close-paren{WHITESPACE}" lines
22e1051a39Sopenharmony_ciif ( /^ *[_A-Z0-9]+err\([^)]+ *$/ ) {
23e1051a39Sopenharmony_ci    my $copy = $_;
24e1051a39Sopenharmony_ci    chop($copy);
25e1051a39Sopenharmony_ci    $copy =~ s/ +$//;
26e1051a39Sopenharmony_ci    my $next = <>;
27e1051a39Sopenharmony_ci    $next =~ s/^ +//;
28e1051a39Sopenharmony_ci    $_ = $copy . ' ' . $next;
29e1051a39Sopenharmony_ci}
30