X-Git-Url: https://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=progs%2FMKtermsort.sh;h=7206bc1a92882e770fdb484f5ba856f9cc911e59;hp=7f5b79a8840d957b17ffe12e33c4560c5c535a33;hb=1f7a36fe16b11bb4aab51be89bbc1b0f75936b78;hpb=46722468f47c2b77b3987729b4bcf2321cccfd01 diff --git a/progs/MKtermsort.sh b/progs/MKtermsort.sh index 7f5b79a8..7206bc1a 100755 --- a/progs/MKtermsort.sh +++ b/progs/MKtermsort.sh @@ -1,10 +1,11 @@ #!/bin/sh -# $Id: MKtermsort.sh,v 1.8 2002/06/29 20:02:48 tom Exp $ +# $Id: MKtermsort.sh,v 1.13 2020/02/02 23:34:34 tom Exp $ # # MKtermsort.sh -- generate indirection vectors for the various sort methods # ############################################################################## -# Copyright (c) 1998-2001,2002 Free Software Foundation, Inc. # +# Copyright 2020 Thomas E. Dickey # +# Copyright 1998-2015,2017 Free Software Foundation, Inc. # # # # Permission is hereby granted, free of charge, to any person obtaining a # # copy of this software and associated documentation files (the "Software"), # @@ -46,8 +47,8 @@ AWK=${1-awk} DATA=${2-../include/Caps} data=data$$ -trap 'rm -f $data' 1 2 5 15 -sed -e 's/[ ]\+/ /g' < $DATA >$data +trap 'rm -f $data' 1 2 3 15 +sed -e 's/[ ][ ]*/ /g' < $DATA >$data DATA=$data echo "/*"; @@ -56,7 +57,7 @@ echo " *"; echo " * Note: this file is generated using MKtermsort.sh, do not edit by hand."; echo " */"; -echo "static const int bool_terminfo_sort[] = {"; +echo "static const PredIdx bool_terminfo_sort[] = {"; $AWK <$DATA ' BEGIN {i = 0;} /^#/ {next;} @@ -65,7 +66,7 @@ $3 == "bool" {printf("%s\t%d\n", $2, i++);} echo "};"; echo ""; -echo "static const int num_terminfo_sort[] = {"; +echo "static const PredIdx num_terminfo_sort[] = {"; $AWK <$DATA ' BEGIN {i = 0;} /^#/ {next;} @@ -74,7 +75,7 @@ $3 == "num" {printf("%s\t%d\n", $2, i++);} echo "};"; echo ""; -echo "static const int str_terminfo_sort[] = {"; +echo "static const PredIdx str_terminfo_sort[] = {"; $AWK <$DATA ' BEGIN {i = 0;} /^#/ {next;} @@ -83,7 +84,7 @@ $3 == "str" {printf("%s\t%d\n", $2, i++);} echo "};"; echo ""; -echo "static const int bool_variable_sort[] = {"; +echo "static const PredIdx bool_variable_sort[] = {"; $AWK <$DATA ' BEGIN {i = 0;} /^#/ {next;} @@ -92,7 +93,7 @@ $3 == "bool" {printf("%s\t%d\n", $1, i++);} echo "};"; echo ""; -echo "static const int num_variable_sort[] = {"; +echo "static const PredIdx num_variable_sort[] = {"; $AWK <$DATA ' BEGIN {i = 0;} /^#/ {next;} @@ -101,7 +102,7 @@ $3 == "num" {printf("%s\t%d\n", $1, i++);} echo "};"; echo ""; -echo "static const int str_variable_sort[] = {"; +echo "static const PredIdx str_variable_sort[] = {"; $AWK <$DATA ' BEGIN {i = 0;} /^#/ {next;} @@ -110,7 +111,7 @@ $3 == "str" {printf("%s\t%d\n", $1, i++);} echo "};"; echo ""; -echo "static const int bool_termcap_sort[] = {"; +echo "static const PredIdx bool_termcap_sort[] = {"; $AWK <$DATA ' BEGIN {i = 0;} /^#/ {next;} @@ -119,7 +120,7 @@ $3 == "bool" {printf("%s\t%d\n", $4, i++);} echo "};"; echo ""; -echo "static const int num_termcap_sort[] = {"; +echo "static const PredIdx num_termcap_sort[] = {"; $AWK <$DATA ' BEGIN {i = 0;} /^#/ {next;} @@ -128,7 +129,7 @@ $3 == "num" {printf("%s\t%d\n", $4, i++);} echo "};"; echo ""; -echo "static const int str_termcap_sort[] = {"; +echo "static const PredIdx str_termcap_sort[] = {"; $AWK <$DATA ' BEGIN {i = 0;} /^#/ {next;} @@ -139,24 +140,30 @@ echo ""; echo "static const bool bool_from_termcap[] = {"; $AWK <$DATA ' -$3 == "bool" && substr($7, 1, 1) == "-" {print "\tFALSE,\t/* ", $2, " */";} -$3 == "bool" && substr($7, 1, 1) == "Y" {print "\tTRUE,\t/* ", $2, " */";} +BEGIN { count = 0; valid = 0; } +$3 == "bool" && substr($7, 1, 1) == "-" {print "\tFALSE,\t/* ", $2, " */"; count++; } +$3 == "bool" && substr($7, 1, 1) == "Y" {print "\tTRUE,\t/* ", $2, " */"; valid = count++; } +END { printf "#define OK_bool_from_termcap %d\n", valid; } ' echo "};"; echo ""; echo "static const bool num_from_termcap[] = {"; $AWK <$DATA ' -$3 == "num" && substr($7, 1, 1) == "-" {print "\tFALSE,\t/* ", $2, " */";} -$3 == "num" && substr($7, 1, 1) == "Y" {print "\tTRUE,\t/* ", $2, " */";} +BEGIN { count = 0; valid = 0; } +$3 == "num" && substr($7, 1, 1) == "-" {print "\tFALSE,\t/* ", $2, " */"; count++; } +$3 == "num" && substr($7, 1, 1) == "Y" {print "\tTRUE,\t/* ", $2, " */"; valid = count++; } +END { printf "#define OK_num_from_termcap %d\n", valid; } ' echo "};"; echo ""; echo "static const bool str_from_termcap[] = {"; $AWK <$DATA ' -$3 == "str" && substr($7, 1, 1) == "-" {print "\tFALSE,\t/* ", $2, " */";} -$3 == "str" && substr($7, 1, 1) == "Y" {print "\tTRUE,\t/* ", $2, " */";} +BEGIN { count = 0; valid = 0; } +$3 == "str" && substr($7, 1, 1) == "-" {print "\tFALSE,\t/* ", $2, " */"; count++; } +$3 == "str" && substr($7, 1, 1) == "Y" {print "\tTRUE,\t/* ", $2, " */"; valid = count++; } +END { printf "#define OK_str_from_termcap %d\n", valid; } ' echo "};"; echo "";