xref: /aosp_15_r20/external/pcre/Detrail (revision 22dc650d8ae982c6770746019a6f94af92b0f024)
1*22dc650dSSadaf Ebrahimi#!/usr/bin/perl
2*22dc650dSSadaf Ebrahimi
3*22dc650dSSadaf Ebrahimi# This is a script for removing trailing whitespace from lines in files that
4*22dc650dSSadaf Ebrahimi# are listed on the command line.
5*22dc650dSSadaf Ebrahimi
6*22dc650dSSadaf Ebrahimi# This subroutine does the work for one file.
7*22dc650dSSadaf Ebrahimi
8*22dc650dSSadaf Ebrahimisub detrail {
9*22dc650dSSadaf Ebrahimimy($file) = $_[0];
10*22dc650dSSadaf Ebrahimimy($changed) = 0;
11*22dc650dSSadaf Ebrahimiopen(IN, "$file") || die "Can't open $file for input";
12*22dc650dSSadaf Ebrahimi@lines = <IN>;
13*22dc650dSSadaf Ebrahimiclose(IN);
14*22dc650dSSadaf Ebrahimiforeach (@lines)
15*22dc650dSSadaf Ebrahimi  {
16*22dc650dSSadaf Ebrahimi  if (/\s+\n$/)
17*22dc650dSSadaf Ebrahimi    {
18*22dc650dSSadaf Ebrahimi    s/\s+\n$/\n/;
19*22dc650dSSadaf Ebrahimi    $changed = 1;
20*22dc650dSSadaf Ebrahimi    }
21*22dc650dSSadaf Ebrahimi  }
22*22dc650dSSadaf Ebrahimiif ($changed)
23*22dc650dSSadaf Ebrahimi  {
24*22dc650dSSadaf Ebrahimi  open(OUT, ">$file") || die "Can't open $file for output";
25*22dc650dSSadaf Ebrahimi  print OUT @lines;
26*22dc650dSSadaf Ebrahimi  close(OUT);
27*22dc650dSSadaf Ebrahimi  }
28*22dc650dSSadaf Ebrahimi}
29*22dc650dSSadaf Ebrahimi
30*22dc650dSSadaf Ebrahimi# This is the main program
31*22dc650dSSadaf Ebrahimi
32*22dc650dSSadaf Ebrahimi$, = "";   # Output field separator
33*22dc650dSSadaf Ebrahimifor ($i = 0; $i < @ARGV; $i++) { &detrail($ARGV[$i]); }
34*22dc650dSSadaf Ebrahimi
35*22dc650dSSadaf Ebrahimi# End
36