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