ncurses 6.0 - patch 20170617
[ncurses.git] / ncurses / tinfo / MKfallback.sh
index c0acba4e32712cfa98295e84b59142893939ec01..4c4f39844d315faeb5bc680d453a1e0ee19b4359 100755 (executable)
@@ -26,7 +26,7 @@
 # use or other dealings in this Software without prior written               #
 # authorization.                                                             #
 ##############################################################################
 # use or other dealings in this Software without prior written               #
 # authorization.                                                             #
 ##############################################################################
-# $Id: MKfallback.sh,v 1.17 2017/01/07 16:05:16 tom Exp $
+# $Id: MKfallback.sh,v 1.21 2017/04/12 00:50:50 tom Exp $
 #
 # MKfallback.sh -- create fallback table for entry reads
 #
 #
 # MKfallback.sh -- create fallback table for entry reads
 #
@@ -89,11 +89,11 @@ EOF
        for x in $*
        do
                echo "/* $x */"
        for x in $*
        do
                echo "/* $x */"
-               infocmp -E $x
+               infocmp -E $x | sed -e 's/\<short\>/NCURSES_INT2/g'
        done
 
        cat <<EOF
        done
 
        cat <<EOF
-static const TERMTYPE fallbacks[$#] =
+static const TERMTYPE2 fallbacks[$#] =
 {
 EOF
        comma=""
 {
 EOF
        comma=""
@@ -111,17 +111,18 @@ EOF
 fi
 
 cat <<EOF
 fi
 
 cat <<EOF
-NCURSES_EXPORT(const TERMTYPE *) _nc_fallback (const char *name GCC_UNUSED)
+NCURSES_EXPORT(const TERMTYPE2 *)
+_nc_fallback2 (const char *name GCC_UNUSED)
 {
 EOF
 
 if [ "$*" ]
 then
        cat <<EOF
 {
 EOF
 
 if [ "$*" ]
 then
        cat <<EOF
-    const TERMTYPE     *tp;
+    const TERMTYPE2    *tp;
 
     for (tp = fallbacks;
 
     for (tp = fallbacks;
-        tp < fallbacks + sizeof(fallbacks)/sizeof(TERMTYPE);
+        tp < fallbacks + sizeof(fallbacks)/sizeof(TERMTYPE2);
         tp++) {
        if (_nc_name_match(tp->term_names, name, "|")) {
            return(tp);
         tp++) {
        if (_nc_name_match(tp->term_names, name, "|")) {
            return(tp);
@@ -133,8 +134,28 @@ else
 fi
 
 cat <<EOF
 fi
 
 cat <<EOF
-    return((TERMTYPE *)0);
+    return((const TERMTYPE2 *)0);
 }
 }
+
+#if NCURSES_EXT_NUMBERS
+#undef _nc_fallback
+
+/*
+ * This entrypoint is used by tack.
+ */
+NCURSES_EXPORT(const TERMTYPE *)
+_nc_fallback (const char *name)
+{
+    const TERMTYPE2 *tp = _nc_fallback2(name);
+    const TERMTYPE *result = 0;
+    if (tp != 0) {
+       static TERMTYPE temp;
+       _nc_export_termtype2(&temp, tp);
+       result = &temp;
+    }
+    return result;
+}
+#endif
 EOF
 
 if test -n "$tmp_info" ; then
 EOF
 
 if test -n "$tmp_info" ; then