ncurses 6.0 - patch 20180121
[ncurses.git] / include / edit_cfg.sh
index cc6efcacc524a5a99c637042f4e1192aeb766c4c..5b2e4fba734dec87e000e30752bf4f73ac587516 100755 (executable)
@@ -1,49 +1,67 @@
 #!/bin/sh
-# $Id: edit_cfg.sh,v 1.6 1997/04/06 01:54:44 tom Exp $
-################################################################################
-# Copyright 1996,1997 by Thomas E. Dickey <dickey@clark.net>                   #
-# All Rights Reserved.                                                         #
-#                                                                              #
-# Permission to use, copy, modify, and distribute this software and its        #
-# documentation for any purpose and without fee is hereby granted, provided    #
-# that the above copyright notice appear in all copies and that both that      #
-# copyright notice and this permission notice appear in supporting             #
-# documentation, and that the name of the above listed copyright holder(s) not #
-# be used in advertising or publicity pertaining to distribution of the        #
-# software without specific, written prior permission. THE ABOVE LISTED        #
-# COPYRIGHT HOLDER(S) DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,    #
-# INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT #
-# SHALL THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE FOR ANY SPECIAL,        #
-# INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM   #
-# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE   #
-# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR    #
-# PERFORMANCE OF THIS SOFTWARE.                                                #
-################################################################################
+# $Id: edit_cfg.sh,v 1.13 2017/08/12 12:22:06 tom Exp $
+##############################################################################
+# Copyright (c) 2000,2001,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"), #
+# to deal in the Software without restriction, including without limitation  #
+# the rights to use, copy, modify, merge, publish, distribute, distribute    #
+# with modifications, sublicense, and/or sell copies of the Software, and to #
+# permit persons to whom the Software is furnished to do so, subject to the  #
+# following conditions:                                                      #
+#                                                                            #
+# The above copyright notice and this permission notice shall be included in #
+# all copies or substantial portions of the Software.                        #
+#                                                                            #
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR #
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,   #
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL    #
+# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER      #
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING    #
+# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER        #
+# DEALINGS IN THE SOFTWARE.                                                  #
+#                                                                            #
+# Except as contained in this notice, the name(s) of the above copyright     #
+# holders shall not be used in advertising or otherwise to promote the sale, #
+# use or other dealings in this Software without prior written               #
+# authorization.                                                             #
+##############################################################################
+#
+# Author: Thomas E. Dickey <dickey@clark.net> 1996,1997,2000
+#
 # Edit the default value of the term.h file based on the autoconf-generated
 # values:
 #
 #      $1 = ncurses_cfg.h
 #      $2 = term.h
 #
+BAK=save$$
+TMP=edit$$
+trap "rm -f $BAK $TMP" 0 1 2 3 15
 for name in \
        HAVE_TCGETATTR \
        HAVE_TERMIOS_H \
        HAVE_TERMIO_H \
        BROKEN_LINKER
 do
-       mv $2 $2.bak
-       if ( grep "[    ]$name[         ]" $1 2>&1 >/dev/null )
+       mv $2 $BAK
+       if ( grep "[    ]$name[         ]" $1 2>&1 >$TMP )
        then
-               sed -e 's/define '$name'.*$/define '$name' 1/' $2.bak >$2
+               value=1
        else
-               sed -e 's/define '$name'.*$/define '$name' 0/' $2.bak >$2
+               value=0
        fi
-       if (cmp -s $2 $2.bak)
+       echo '** edit: '$name $value
+       sed \
+               -e "s@#define ${name}.*\$@#define $name $value@" \
+               -e "s@#if $name\$@#if $value /* $name */@" \
+               -e "s@#if !$name\$@#if $value /* !$name */@" \
+               $BAK >$2
+       if (cmp -s $2 $BAK)
        then
-               echo '** same: '$name
-               mv $2.bak $2
+               mv $BAK $2
        else
-               echo '** edit: '$name
-               rm -f $2.bak
+               rm -f $BAK
        fi
 done