X-Git-Url: https://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=ncurses%2Fbase%2FMKlib_gen.sh;h=643a53d47c6299c80d9a17f98bb1691331ecab4b;hp=4c35b73e50d9fa3edfbebff23aad3254757d7de1;hb=8d3ea9021573747ecd129228ba7782a03243f62c;hpb=3e0f770501852be3a2cb05d8044219d7b04dbfad diff --git a/ncurses/base/MKlib_gen.sh b/ncurses/base/MKlib_gen.sh index 4c35b73e..643a53d4 100755 --- a/ncurses/base/MKlib_gen.sh +++ b/ncurses/base/MKlib_gen.sh @@ -2,10 +2,10 @@ # # MKlib_gen.sh -- generate sources from curses.h macro definitions # -# ($Id: MKlib_gen.sh,v 1.53 2016/06/25 22:08:12 tom Exp $) +# ($Id: MKlib_gen.sh,v 1.59 2017/11/25 23:05:56 tom Exp $) # ############################################################################## -# Copyright (c) 1998-2015,2016 Free Software Foundation, Inc. # +# Copyright (c) 1998-2017,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"), # @@ -62,7 +62,7 @@ if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi if test "${LC_COLLATE+set}" = set; then LC_COLLATE=C; export LC_COLLATE; fi -preprocessor="$1 -DNCURSES_INTERNALS -I../include" +preprocessor="$1 -DNCURSES_WATTR_MACROS -DNCURSES_INTERNALS -I../include" AWK="$2" USE="$3" @@ -91,7 +91,7 @@ ED4=sed4_${PID}.sed AW1=awk1_${PID}.awk AW2=awk2_${PID}.awk TMP=gen__${PID}.c -trap "rm -f $ED1 $ED2 $ED3 $ED4 $AW1 $AW2 $TMP" 0 1 2 5 15 +trap "rm -f $ED1 $ED2 $ED3 $ED4 $AW1 $AW2 $TMP" 0 1 2 3 15 ALL=$USE if test "$USE" = implemented ; then @@ -274,6 +274,11 @@ $0 !~ /^P_/ { dotrace = 0; } + do_getstr = 0; + if ($myfunc ~ /get[n]?str/) { + do_getstr = 1; + } + call = "@@T((T_CALLED(\"" args = "" comma = "" @@ -310,7 +315,11 @@ $0 !~ /^P_/ { call = call "%s" } else if (pointer) { if ( argtype == "char" ) { - call = call "%s" + if (do_getstr) { + call = call "%p" + } else { + call = call "%s" + } comma = comma "_nc_visbuf2(" num "," pointer = 0; } else { @@ -360,7 +369,7 @@ $0 !~ /^P_/ { call = call ")); " if (dotrace) - printf "%s", call + printf "%s\n\t@@", call if (match($0, "^void")) { call = "" @@ -399,9 +408,10 @@ EOF1 cat >$AW2 <