From 936e5ad292f023785f4b249b6066dea5632d8810 Mon Sep 17 00:00:00 2001 From: edwin Date: Sun, 14 Jun 2009 13:43:07 +0000 Subject: Rename since it has will have more capabilities than just comparing of two termcap entries. --- tools/tools/termcap/compare_termcap.pl | 98 ---------------------------------- tools/tools/termcap/termcap.pl | 98 ++++++++++++++++++++++++++++++++++ 2 files changed, 98 insertions(+), 98 deletions(-) delete mode 100755 tools/tools/termcap/compare_termcap.pl create mode 100755 tools/tools/termcap/termcap.pl (limited to 'tools/tools/termcap') diff --git a/tools/tools/termcap/compare_termcap.pl b/tools/tools/termcap/compare_termcap.pl deleted file mode 100755 index f2c1f76..0000000 --- a/tools/tools/termcap/compare_termcap.pl +++ /dev/null @@ -1,98 +0,0 @@ -#!/usr/bin/perl -w - -# -# Copyright (C) 2009 Edwin Groothuis. All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# -# THIS SOFTWARE IS PROVIDED BY THE AUTHORS AND CONTRIBUTORS ``AS IS'' AND -# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE -# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -# SUCH DAMAGE. -# -# $FreeBSD$ -# - -use strict; -use Data::Dumper; - -if ($#ARGV != 1) { - print < -Compares the entries in the termcap.src for and and -print the keys and definitions on the screen. This can be used to reduce -the size of two similar termcap entries with the "tc" option. -EOF - exit(0); -} - -open(FIN, "termcap.src"); -my @lines = ; -chomp(@lines); -close(FIN); - -my %tcs = (); - -my $tc = ""; -foreach my $l (@lines) { - next if ($l =~ /^#/); - next if ($l eq ""); - - $tc .= $l; - next if ($l =~ /\\$/); - - my @a = split(/:/, $tc); - next if ($#a < 0); - my @b = split(/\|/, $a[0]); - if ($#b >= 0) { - $tcs{$b[0]} = $tc; - } else { - $tcs{$a[0]} = $tc; - } - $tc = ""; -} - -die "Cannot find definitions for $ARGV[0]" if (!defined $tcs{$ARGV[0]}); -die "Cannot find definitions for $ARGV[1]" if (!defined $tcs{$ARGV[1]}); - -my %tc = (); -my %keys = (); - -for (my $i = 0; $i < 2; $i++) { - foreach my $tc (split(/:/, $tcs{$ARGV[$i]})) { - next if ($tc =~ /^\\/); - $tc{$i}{$tc} = 0 if (!defined $tc{$i}{$tc}); - $tc{$i}{$tc}++; - $keys{$tc} = 0; - } -} - -foreach my $key (sort(keys(%keys))) { - if (length($key) > 15) { - print "$key\n"; - printf("%-15s %-3s %-3s\n", "", - defined $tc{0}{$key} ? "+" : "", - defined $tc{1}{$key} ? "+" : "" - ); - } else { - printf("%-15s %-3s %-3s\n", $key, - defined $tc{0}{$key} ? "+" : "", - defined $tc{1}{$key} ? "+" : "" - ); - } -} - diff --git a/tools/tools/termcap/termcap.pl b/tools/tools/termcap/termcap.pl new file mode 100755 index 0000000..f2c1f76 --- /dev/null +++ b/tools/tools/termcap/termcap.pl @@ -0,0 +1,98 @@ +#!/usr/bin/perl -w + +# +# Copyright (C) 2009 Edwin Groothuis. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHORS AND CONTRIBUTORS ``AS IS'' AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. +# +# $FreeBSD$ +# + +use strict; +use Data::Dumper; + +if ($#ARGV != 1) { + print < +Compares the entries in the termcap.src for and and +print the keys and definitions on the screen. This can be used to reduce +the size of two similar termcap entries with the "tc" option. +EOF + exit(0); +} + +open(FIN, "termcap.src"); +my @lines = ; +chomp(@lines); +close(FIN); + +my %tcs = (); + +my $tc = ""; +foreach my $l (@lines) { + next if ($l =~ /^#/); + next if ($l eq ""); + + $tc .= $l; + next if ($l =~ /\\$/); + + my @a = split(/:/, $tc); + next if ($#a < 0); + my @b = split(/\|/, $a[0]); + if ($#b >= 0) { + $tcs{$b[0]} = $tc; + } else { + $tcs{$a[0]} = $tc; + } + $tc = ""; +} + +die "Cannot find definitions for $ARGV[0]" if (!defined $tcs{$ARGV[0]}); +die "Cannot find definitions for $ARGV[1]" if (!defined $tcs{$ARGV[1]}); + +my %tc = (); +my %keys = (); + +for (my $i = 0; $i < 2; $i++) { + foreach my $tc (split(/:/, $tcs{$ARGV[$i]})) { + next if ($tc =~ /^\\/); + $tc{$i}{$tc} = 0 if (!defined $tc{$i}{$tc}); + $tc{$i}{$tc}++; + $keys{$tc} = 0; + } +} + +foreach my $key (sort(keys(%keys))) { + if (length($key) > 15) { + print "$key\n"; + printf("%-15s %-3s %-3s\n", "", + defined $tc{0}{$key} ? "+" : "", + defined $tc{1}{$key} ? "+" : "" + ); + } else { + printf("%-15s %-3s %-3s\n", $key, + defined $tc{0}{$key} ? "+" : "", + defined $tc{1}{$key} ? "+" : "" + ); + } +} + -- cgit v1.1