summaryrefslogtreecommitdiff
path: root/ncurses-5.2/ncurses/tinfo/lib_tparm.c
diff options
context:
space:
mode:
authorcvs2git <rtems-devel@rtems.org>2003-01-28 19:56:06 +0000
committercvs2git <rtems-devel@rtems.org>2003-01-28 19:56:06 +0000
commitabcd9035763ff87a4afd0b9adad5b77e4dbb52ec (patch)
tree7d52bf74324906a4adb23350ddea72f65b16ae90 /ncurses-5.2/ncurses/tinfo/lib_tparm.c
parent66d25567fe424bb55fde088f3d45e9ed044400c1 (diff)
This commit was manufactured by cvs2svn to create tag 'rtems-addon-rtems-addon-packages-20030128
packages-20030128'. Sprout from ncurses-gnu 2002-12-19 15:34:54 UTC Eric Norum <WENorum@lbl.gov> 'Latest ncurses add-on' Cherrypick from addons 2002-06-28 21:58:41 UTC Eric Norum <WENorum@lbl.gov> 'Useful add-on libraries': README RTEMS_Makefiles/Makefile.avl RTEMS_Makefiles/Makefile.common RTEMS_Makefiles/Makefile.site avl-1.4.0/AUTHORS avl-1.4.0/COPYING avl-1.4.0/ChangeLog avl-1.4.0/INSTALL avl-1.4.0/Makefile.am avl-1.4.0/Makefile.in avl-1.4.0/NEWS avl-1.4.0/README avl-1.4.0/THANKS avl-1.4.0/TODO avl-1.4.0/aclocal.m4 avl-1.4.0/avl.c avl-1.4.0/avl.h avl-1.4.0/avl.html avl-1.4.0/avl.info avl-1.4.0/avl.texinfo avl-1.4.0/avl.text avl-1.4.0/avlt.c avl-1.4.0/avlt.h avl-1.4.0/avltr.c avl-1.4.0/avltr.h avl-1.4.0/configure avl-1.4.0/configure.in avl-1.4.0/install-sh avl-1.4.0/missing avl-1.4.0/mkinstalldirs avl-1.4.0/rb.c avl-1.4.0/rb.h avl-1.4.0/texinfo.tex avl-1.4.0/thread-test.c examples/avl/BuildTests.sh examples/avl/Makefile examples/avl/README examples/avl/init.c examples/ncurses/BuildTests.sh examples/ncurses/Makefile examples/ncurses/README examples/ncurses/init.c examples/readline/.gdbinit examples/readline/Makefile examples/readline/init.c examples/readline/rlgeneric.c ncurses-5.2/ANNOUNCE ncurses-5.2/Ada95/Makefile.in ncurses-5.2/Ada95/README ncurses-5.2/Ada95/TODO ncurses-5.2/Ada95/gen/Makefile.in ncurses-5.2/Ada95/gen/gen.c ncurses-5.2/Ada95/gen/html.m4 ncurses-5.2/Ada95/gen/normal.m4 ncurses-5.2/Ada95/gen/table.m4 ncurses-5.2/Ada95/gen/terminal_interface-curses-aux.ads.m4 ncurses-5.2/Ada95/gen/terminal_interface-curses-forms-field_types.ads.m4 ncurses-5.2/Ada95/gen/terminal_interface-curses-forms-field_user_data.ads.m4 ncurses-5.2/Ada95/gen/terminal_interface-curses-forms-form_user_data.ads.m4 ncurses-5.2/Ada95/gen/terminal_interface-curses-forms.ads.m4 ncurses-5.2/Ada95/gen/terminal_interface-curses-menus-item_user_data.ads.m4 ncurses-5.2/Ada95/gen/terminal_interface-curses-menus-menu_user_data.ads.m4 ncurses-5.2/Ada95/gen/terminal_interface-curses-menus.ads.m4 ncurses-5.2/Ada95/gen/terminal_interface-curses-mouse.ads.m4 ncurses-5.2/Ada95/gen/terminal_interface-curses-panels-user_data.ads.m4 ncurses-5.2/Ada95/gen/terminal_interface-curses-panels.ads.m4 ncurses-5.2/Ada95/gen/terminal_interface-curses.ads.m4 ncurses-5.2/Ada95/samples/Makefile.in ncurses-5.2/Ada95/samples/README ncurses-5.2/Ada95/samples/explain.txt ncurses-5.2/Ada95/samples/rain.adb ncurses-5.2/Ada95/samples/rain.ads ncurses-5.2/Ada95/samples/sample-curses_demo-attributes.adb ncurses-5.2/Ada95/samples/sample-curses_demo-attributes.ads ncurses-5.2/Ada95/samples/sample-curses_demo-mouse.adb ncurses-5.2/Ada95/samples/sample-curses_demo-mouse.ads ncurses-5.2/Ada95/samples/sample-curses_demo.adb ncurses-5.2/Ada95/samples/sample-curses_demo.ads ncurses-5.2/Ada95/samples/sample-explanation.adb ncurses-5.2/Ada95/samples/sample-explanation.ads ncurses-5.2/Ada95/samples/sample-form_demo-aux.adb ncurses-5.2/Ada95/samples/sample-form_demo-aux.ads ncurses-5.2/Ada95/samples/sample-form_demo-handler.adb ncurses-5.2/Ada95/samples/sample-form_demo-handler.ads ncurses-5.2/Ada95/samples/sample-form_demo.adb ncurses-5.2/Ada95/samples/sample-form_demo.ads ncurses-5.2/Ada95/samples/sample-function_key_setting.adb ncurses-5.2/Ada95/samples/sample-function_key_setting.ads ncurses-5.2/Ada95/samples/sample-header_handler.adb ncurses-5.2/Ada95/samples/sample-header_handler.ads ncurses-5.2/Ada95/samples/sample-helpers.adb ncurses-5.2/Ada95/samples/sample-helpers.ads ncurses-5.2/Ada95/samples/sample-keyboard_handler.adb ncurses-5.2/Ada95/samples/sample-keyboard_handler.ads ncurses-5.2/Ada95/samples/sample-manifest.ads ncurses-5.2/Ada95/samples/sample-menu_demo-aux.adb ncurses-5.2/Ada95/samples/sample-menu_demo-aux.ads ncurses-5.2/Ada95/samples/sample-menu_demo-handler.adb ncurses-5.2/Ada95/samples/sample-menu_demo-handler.ads ncurses-5.2/Ada95/samples/sample-menu_demo.adb ncurses-5.2/Ada95/samples/sample-menu_demo.ads ncurses-5.2/Ada95/samples/sample-my_field_type.adb ncurses-5.2/Ada95/samples/sample-my_field_type.ads ncurses-5.2/Ada95/samples/sample-text_io_demo.adb ncurses-5.2/Ada95/samples/sample-text_io_demo.ads ncurses-5.2/Ada95/samples/sample.adb ncurses-5.2/Ada95/samples/sample.ads ncurses-5.2/Ada95/samples/status.adb ncurses-5.2/Ada95/samples/status.ads ncurses-5.2/Ada95/samples/tour.adb ncurses-5.2/Ada95/samples/tour.ads ncurses-5.2/Ada95/src/Makefile.in ncurses-5.2/Ada95/src/terminal_interface-curses-aux.adb ncurses-5.2/Ada95/src/terminal_interface-curses-forms-field_types-alpha.adb ncurses-5.2/Ada95/src/terminal_interface-curses-forms-field_types-alpha.ads ncurses-5.2/Ada95/src/terminal_interface-curses-forms-field_types-alphanumeric.adb ncurses-5.2/Ada95/src/terminal_interface-curses-forms-field_types-alphanumeric.ads ncurses-5.2/Ada95/src/terminal_interface-curses-forms-field_types-enumeration-ada.adb ncurses-5.2/Ada95/src/terminal_interface-curses-forms-field_types-enumeration-ada.ads ncurses-5.2/Ada95/src/terminal_interface-curses-forms-field_types-enumeration.adb ncurses-5.2/Ada95/src/terminal_interface-curses-forms-field_types-enumeration.ads ncurses-5.2/Ada95/src/terminal_interface-curses-forms-field_types-intfield.adb ncurses-5.2/Ada95/src/terminal_interface-curses-forms-field_types-intfield.ads ncurses-5.2/Ada95/src/terminal_interface-curses-forms-field_types-ipv4_address.adb ncurses-5.2/Ada95/src/terminal_interface-curses-forms-field_types-ipv4_address.ads ncurses-5.2/Ada95/src/terminal_interface-curses-forms-field_types-numeric.adb ncurses-5.2/Ada95/src/terminal_interface-curses-forms-field_types-numeric.ads ncurses-5.2/Ada95/src/terminal_interface-curses-forms-field_types-regexp.adb ncurses-5.2/Ada95/src/terminal_interface-curses-forms-field_types-regexp.ads ncurses-5.2/Ada95/src/terminal_interface-curses-forms-field_types-user-choice.adb ncurses-5.2/Ada95/src/terminal_interface-curses-forms-field_types-user-choice.ads ncurses-5.2/Ada95/src/terminal_interface-curses-forms-field_types-user.adb ncurses-5.2/Ada95/src/terminal_interface-curses-forms-field_types-user.ads ncurses-5.2/Ada95/src/terminal_interface-curses-forms-field_types.adb ncurses-5.2/Ada95/src/terminal_interface-curses-forms-field_user_data.adb ncurses-5.2/Ada95/src/terminal_interface-curses-forms-form_user_data.adb ncurses-5.2/Ada95/src/terminal_interface-curses-forms.adb ncurses-5.2/Ada95/src/terminal_interface-curses-menus-item_user_data.adb ncurses-5.2/Ada95/src/terminal_interface-curses-menus-menu_user_data.adb ncurses-5.2/Ada95/src/terminal_interface-curses-menus.adb ncurses-5.2/Ada95/src/terminal_interface-curses-mouse.adb ncurses-5.2/Ada95/src/terminal_interface-curses-panels-user_data.adb ncurses-5.2/Ada95/src/terminal_interface-curses-panels.adb ncurses-5.2/Ada95/src/terminal_interface-curses-text_io-aux.adb ncurses-5.2/Ada95/src/terminal_interface-curses-text_io-aux.ads ncurses-5.2/Ada95/src/terminal_interface-curses-text_io-complex_io.adb ncurses-5.2/Ada95/src/terminal_interface-curses-text_io-complex_io.ads ncurses-5.2/Ada95/src/terminal_interface-curses-text_io-decimal_io.adb ncurses-5.2/Ada95/src/terminal_interface-curses-text_io-decimal_io.ads ncurses-5.2/Ada95/src/terminal_interface-curses-text_io-enumeration_io.adb ncurses-5.2/Ada95/src/terminal_interface-curses-text_io-enumeration_io.ads ncurses-5.2/Ada95/src/terminal_interface-curses-text_io-fixed_io.adb ncurses-5.2/Ada95/src/terminal_interface-curses-text_io-fixed_io.ads ncurses-5.2/Ada95/src/terminal_interface-curses-text_io-float_io.adb ncurses-5.2/Ada95/src/terminal_interface-curses-text_io-float_io.ads ncurses-5.2/Ada95/src/terminal_interface-curses-text_io-integer_io.adb ncurses-5.2/Ada95/src/terminal_interface-curses-text_io-integer_io.ads ncurses-5.2/Ada95/src/terminal_interface-curses-text_io-modular_io.adb ncurses-5.2/Ada95/src/terminal_interface-curses-text_io-modular_io.ads ncurses-5.2/Ada95/src/terminal_interface-curses-text_io.adb ncurses-5.2/Ada95/src/terminal_interface-curses-text_io.ads ncurses-5.2/Ada95/src/terminal_interface-curses.adb ncurses-5.2/Ada95/src/terminal_interface.ads ncurses-5.2/INSTALL ncurses-5.2/MANIFEST ncurses-5.2/Makefile.glibc ncurses-5.2/Makefile.in ncurses-5.2/Makefile.os2 ncurses-5.2/NEWS ncurses-5.2/README ncurses-5.2/README.emx ncurses-5.2/README.glibc ncurses-5.2/TO-DO ncurses-5.2/aclocal.m4 ncurses-5.2/announce.html.in ncurses-5.2/c++/Makefile.in ncurses-5.2/c++/NEWS ncurses-5.2/c++/PROBLEMS ncurses-5.2/c++/README-first ncurses-5.2/c++/cursesapp.cc ncurses-5.2/c++/cursesapp.h ncurses-5.2/c++/cursesf.cc ncurses-5.2/c++/cursesf.h ncurses-5.2/c++/cursesm.cc ncurses-5.2/c++/cursesm.h ncurses-5.2/c++/cursesmain.cc ncurses-5.2/c++/cursesp.cc ncurses-5.2/c++/cursesp.h ncurses-5.2/c++/cursespad.cc ncurses-5.2/c++/cursesw.cc ncurses-5.2/c++/cursesw.h ncurses-5.2/c++/cursslk.cc ncurses-5.2/c++/cursslk.h ncurses-5.2/c++/demo.cc ncurses-5.2/c++/edit_cfg.sh ncurses-5.2/c++/etip.h.in ncurses-5.2/c++/headers ncurses-5.2/c++/internal.h ncurses-5.2/c++/modules ncurses-5.2/config.guess ncurses-5.2/config.sub ncurses-5.2/configure ncurses-5.2/configure.in ncurses-5.2/convert_configure.pl ncurses-5.2/dist.mk ncurses-5.2/doc/hackguide.doc ncurses-5.2/doc/html/Ada95.html ncurses-5.2/doc/html/ada/files.htm ncurses-5.2/doc/html/ada/files/T.htm ncurses-5.2/doc/html/ada/funcs.htm ncurses-5.2/doc/html/ada/funcs/A.htm ncurses-5.2/doc/html/ada/funcs/B.htm ncurses-5.2/doc/html/ada/funcs/C.htm ncurses-5.2/doc/html/ada/funcs/D.htm ncurses-5.2/doc/html/ada/funcs/E.htm ncurses-5.2/doc/html/ada/funcs/F.htm ncurses-5.2/doc/html/ada/funcs/G.htm ncurses-5.2/doc/html/ada/funcs/H.htm ncurses-5.2/doc/html/ada/funcs/I.htm ncurses-5.2/doc/html/ada/funcs/K.htm ncurses-5.2/doc/html/ada/funcs/L.htm ncurses-5.2/doc/html/ada/funcs/M.htm ncurses-5.2/doc/html/ada/funcs/N.htm ncurses-5.2/doc/html/ada/funcs/O.htm ncurses-5.2/doc/html/ada/funcs/P.htm ncurses-5.2/doc/html/ada/funcs/Q.htm ncurses-5.2/doc/html/ada/funcs/R.htm ncurses-5.2/doc/html/ada/funcs/S.htm ncurses-5.2/doc/html/ada/funcs/T.htm ncurses-5.2/doc/html/ada/funcs/U.htm ncurses-5.2/doc/html/ada/funcs/V.htm ncurses-5.2/doc/html/ada/funcs/W.htm ncurses-5.2/doc/html/ada/index.htm ncurses-5.2/doc/html/ada/main.htm ncurses-5.2/doc/html/ada/table.html ncurses-5.2/doc/html/ada/terminal_interface-curses-aux__adb.htm ncurses-5.2/doc/html/ada/terminal_interface-curses-aux__ads.htm ncurses-5.2/doc/html/ada/terminal_interface-curses-forms-field_types-alpha__adb.htm ncurses-5.2/doc/html/ada/terminal_interface-curses-forms-field_types-alpha__ads.htm ncurses-5.2/doc/html/ada/terminal_interface-curses-forms-field_types-alphanumeric__adb.htm ncurses-5.2/doc/html/ada/terminal_interface-curses-forms-field_types-alphanumeric__ads.htm ncurses-5.2/doc/html/ada/terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm ncurses-5.2/doc/html/ada/terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm ncurses-5.2/doc/html/ada/terminal_interface-curses-forms-field_types-enumeration__adb.htm ncurses-5.2/doc/html/ada/terminal_interface-curses-forms-field_types-enumeration__ads.htm ncurses-5.2/doc/html/ada/terminal_interface-curses-forms-field_types-intfield__adb.htm ncurses-5.2/doc/html/ada/terminal_interface-curses-forms-field_types-intfield__ads.htm ncurses-5.2/doc/html/ada/terminal_interface-curses-forms-field_types-ipv4_address__adb.htm ncurses-5.2/doc/html/ada/terminal_interface-curses-forms-field_types-ipv4_address__ads.htm ncurses-5.2/doc/html/ada/terminal_interface-curses-forms-field_types-numeric__adb.htm ncurses-5.2/doc/html/ada/terminal_interface-curses-forms-field_types-numeric__ads.htm ncurses-5.2/doc/html/ada/terminal_interface-curses-forms-field_types-regexp__adb.htm ncurses-5.2/doc/html/ada/terminal_interface-curses-forms-field_types-regexp__ads.htm ncurses-5.2/doc/html/ada/terminal_interface-curses-forms-field_types-user-choice__adb.htm ncurses-5.2/doc/html/ada/terminal_interface-curses-forms-field_types-user-choice__ads.htm ncurses-5.2/doc/html/ada/terminal_interface-curses-forms-field_types-user__adb.htm ncurses-5.2/doc/html/ada/terminal_interface-curses-forms-field_types-user__ads.htm ncurses-5.2/doc/html/ada/terminal_interface-curses-forms-field_types__adb.htm ncurses-5.2/doc/html/ada/terminal_interface-curses-forms-field_types__ads.htm ncurses-5.2/doc/html/ada/terminal_interface-curses-forms-field_user_data__adb.htm ncurses-5.2/doc/html/ada/terminal_interface-curses-forms-field_user_data__ads.htm ncurses-5.2/doc/html/ada/terminal_interface-curses-forms-form_user_data__adb.htm ncurses-5.2/doc/html/ada/terminal_interface-curses-forms-form_user_data__ads.htm ncurses-5.2/doc/html/ada/terminal_interface-curses-forms__adb.htm ncurses-5.2/doc/html/ada/terminal_interface-curses-forms__ads.htm ncurses-5.2/doc/html/ada/terminal_interface-curses-menus-item_user_data__adb.htm ncurses-5.2/doc/html/ada/terminal_interface-curses-menus-item_user_data__ads.htm ncurses-5.2/doc/html/ada/terminal_interface-curses-menus-menu_user_data__adb.htm ncurses-5.2/doc/html/ada/terminal_interface-curses-menus-menu_user_data__ads.htm ncurses-5.2/doc/html/ada/terminal_interface-curses-menus__adb.htm ncurses-5.2/doc/html/ada/terminal_interface-curses-menus__ads.htm ncurses-5.2/doc/html/ada/terminal_interface-curses-mouse__adb.htm ncurses-5.2/doc/html/ada/terminal_interface-curses-mouse__ads.htm ncurses-5.2/doc/html/ada/terminal_interface-curses-panels-user_data__adb.htm ncurses-5.2/doc/html/ada/terminal_interface-curses-panels-user_data__ads.htm ncurses-5.2/doc/html/ada/terminal_interface-curses-panels__adb.htm ncurses-5.2/doc/html/ada/terminal_interface-curses-panels__ads.htm ncurses-5.2/doc/html/ada/terminal_interface-curses-text_io-aux__adb.htm ncurses-5.2/doc/html/ada/terminal_interface-curses-text_io-aux__ads.htm ncurses-5.2/doc/html/ada/terminal_interface-curses-text_io-complex_io__adb.htm ncurses-5.2/doc/html/ada/terminal_interface-curses-text_io-complex_io__ads.htm ncurses-5.2/doc/html/ada/terminal_interface-curses-text_io-decimal_io__adb.htm ncurses-5.2/doc/html/ada/terminal_interface-curses-text_io-decimal_io__ads.htm ncurses-5.2/doc/html/ada/terminal_interface-curses-text_io-enumeration_io__adb.htm ncurses-5.2/doc/html/ada/terminal_interface-curses-text_io-enumeration_io__ads.htm ncurses-5.2/doc/html/ada/terminal_interface-curses-text_io-fixed_io__adb.htm ncurses-5.2/doc/html/ada/terminal_interface-curses-text_io-fixed_io__ads.htm ncurses-5.2/doc/html/ada/terminal_interface-curses-text_io-float_io__adb.htm ncurses-5.2/doc/html/ada/terminal_interface-curses-text_io-float_io__ads.htm ncurses-5.2/doc/html/ada/terminal_interface-curses-text_io-integer_io__adb.htm ncurses-5.2/doc/html/ada/terminal_interface-curses-text_io-integer_io__ads.htm ncurses-5.2/doc/html/ada/terminal_interface-curses-text_io-modular_io__adb.htm ncurses-5.2/doc/html/ada/terminal_interface-curses-text_io-modular_io__ads.htm ncurses-5.2/doc/html/ada/terminal_interface-curses-text_io__adb.htm ncurses-5.2/doc/html/ada/terminal_interface-curses-text_io__ads.htm ncurses-5.2/doc/html/ada/terminal_interface-curses__adb.htm ncurses-5.2/doc/html/ada/terminal_interface-curses__ads.htm ncurses-5.2/doc/html/ada/terminal_interface__ads.htm ncurses-5.2/doc/html/announce.html ncurses-5.2/doc/html/hackguide.html ncurses-5.2/doc/html/index.html ncurses-5.2/doc/html/man/captoinfo.1m.html ncurses-5.2/doc/html/man/clear.1.html ncurses-5.2/doc/html/man/curs_addch.3x.html ncurses-5.2/doc/html/man/curs_addchstr.3x.html ncurses-5.2/doc/html/man/curs_addstr.3x.html ncurses-5.2/doc/html/man/curs_attr.3x.html ncurses-5.2/doc/html/man/curs_beep.3x.html ncurses-5.2/doc/html/man/curs_bkgd.3x.html ncurses-5.2/doc/html/man/curs_border.3x.html ncurses-5.2/doc/html/man/curs_clear.3x.html ncurses-5.2/doc/html/man/curs_color.3x.html ncurses-5.2/doc/html/man/curs_delch.3x.html ncurses-5.2/doc/html/man/curs_deleteln.3x.html ncurses-5.2/doc/html/man/curs_extend.3x.html ncurses-5.2/doc/html/man/curs_getch.3x.html ncurses-5.2/doc/html/man/curs_getstr.3x.html ncurses-5.2/doc/html/man/curs_getyx.3x.html ncurses-5.2/doc/html/man/curs_inch.3x.html ncurses-5.2/doc/html/man/curs_inchstr.3x.html ncurses-5.2/doc/html/man/curs_initscr.3x.html ncurses-5.2/doc/html/man/curs_inopts.3x.html ncurses-5.2/doc/html/man/curs_insch.3x.html ncurses-5.2/doc/html/man/curs_insstr.3x.html ncurses-5.2/doc/html/man/curs_instr.3x.html ncurses-5.2/doc/html/man/curs_kernel.3x.html ncurses-5.2/doc/html/man/curs_mouse.3x.html ncurses-5.2/doc/html/man/curs_move.3x.html ncurses-5.2/doc/html/man/curs_outopts.3x.html ncurses-5.2/doc/html/man/curs_overlay.3x.html ncurses-5.2/doc/html/man/curs_pad.3x.html ncurses-5.2/doc/html/man/curs_print.3x.html ncurses-5.2/doc/html/man/curs_printw.3x.html ncurses-5.2/doc/html/man/curs_refresh.3x.html ncurses-5.2/doc/html/man/curs_scanw.3x.html ncurses-5.2/doc/html/man/curs_scr_dump.3x.html ncurses-5.2/doc/html/man/curs_scroll.3x.html ncurses-5.2/doc/html/man/curs_slk.3x.html ncurses-5.2/doc/html/man/curs_termattrs.3x.html ncurses-5.2/doc/html/man/curs_termcap.3x.html ncurses-5.2/doc/html/man/curs_terminfo.3x.html ncurses-5.2/doc/html/man/curs_touch.3x.html ncurses-5.2/doc/html/man/curs_trace.3x.html ncurses-5.2/doc/html/man/curs_util.3x.html ncurses-5.2/doc/html/man/curs_window.3x.html ncurses-5.2/doc/html/man/default_colors.3x.html ncurses-5.2/doc/html/man/define_key.3x.html ncurses-5.2/doc/html/man/form.3x.html ncurses-5.2/doc/html/man/form_cursor.3x.html ncurses-5.2/doc/html/man/form_data.3x.html ncurses-5.2/doc/html/man/form_driver.3x.html ncurses-5.2/doc/html/man/form_field.3x.html ncurses-5.2/doc/html/man/form_field_attributes.3x.html ncurses-5.2/doc/html/man/form_field_buffer.3x.html ncurses-5.2/doc/html/man/form_field_info.3x.html ncurses-5.2/doc/html/man/form_field_just.3x.html ncurses-5.2/doc/html/man/form_field_new.3x.html ncurses-5.2/doc/html/man/form_field_opts.3x.html ncurses-5.2/doc/html/man/form_field_userptr.3x.html ncurses-5.2/doc/html/man/form_field_validation.3x.html ncurses-5.2/doc/html/man/form_fieldtype.3x.html ncurses-5.2/doc/html/man/form_hook.3x.html ncurses-5.2/doc/html/man/form_new.3x.html ncurses-5.2/doc/html/man/form_new_page.3x.html ncurses-5.2/doc/html/man/form_opts.3x.html ncurses-5.2/doc/html/man/form_page.3x.html ncurses-5.2/doc/html/man/form_post.3x.html ncurses-5.2/doc/html/man/form_requestname.3x.html ncurses-5.2/doc/html/man/form_userptr.3x.html ncurses-5.2/doc/html/man/form_win.3x.html ncurses-5.2/doc/html/man/infocmp.1m.html ncurses-5.2/doc/html/man/infotocap.1m.html ncurses-5.2/doc/html/man/keybound.3x.html ncurses-5.2/doc/html/man/keyok.3x.html ncurses-5.2/doc/html/man/menu.3x.html ncurses-5.2/doc/html/man/menu_attributes.3x.html ncurses-5.2/doc/html/man/menu_cursor.3x.html ncurses-5.2/doc/html/man/menu_driver.3x.html ncurses-5.2/doc/html/man/menu_format.3x.html ncurses-5.2/doc/html/man/menu_hook.3x.html ncurses-5.2/doc/html/man/menu_items.3x.html ncurses-5.2/doc/html/man/menu_mark.3x.html ncurses-5.2/doc/html/man/menu_new.3x.html ncurses-5.2/doc/html/man/menu_opts.3x.html ncurses-5.2/doc/html/man/menu_pattern.3x.html ncurses-5.2/doc/html/man/menu_post.3x.html ncurses-5.2/doc/html/man/menu_requestname.3x.html ncurses-5.2/doc/html/man/menu_spacing.3x.html ncurses-5.2/doc/html/man/menu_userptr.3x.html ncurses-5.2/doc/html/man/menu_win.3x.html ncurses-5.2/doc/html/man/mitem_current.3x.html ncurses-5.2/doc/html/man/mitem_name.3x.html ncurses-5.2/doc/html/man/mitem_new.3x.html ncurses-5.2/doc/html/man/mitem_opts.3x.html ncurses-5.2/doc/html/man/mitem_userptr.3x.html ncurses-5.2/doc/html/man/mitem_value.3x.html ncurses-5.2/doc/html/man/mitem_visible.3x.html ncurses-5.2/doc/html/man/ncurses.3x.html ncurses-5.2/doc/html/man/panel.3x.html ncurses-5.2/doc/html/man/resizeterm.3x.html ncurses-5.2/doc/html/man/term.5.html ncurses-5.2/doc/html/man/term.7.html ncurses-5.2/doc/html/man/terminfo.5.html ncurses-5.2/doc/html/man/tic.1m.html ncurses-5.2/doc/html/man/toe.1m.html ncurses-5.2/doc/html/man/tput.1.html ncurses-5.2/doc/html/man/tset.1.html ncurses-5.2/doc/html/man/wresize.3x.html ncurses-5.2/doc/html/ncurses-intro.html ncurses-5.2/doc/ncurses-intro.doc ncurses-5.2/form/Makefile.in ncurses-5.2/form/READ.ME ncurses-5.2/form/fld_arg.c ncurses-5.2/form/fld_attr.c ncurses-5.2/form/fld_current.c ncurses-5.2/form/fld_def.c ncurses-5.2/form/fld_dup.c ncurses-5.2/form/fld_ftchoice.c ncurses-5.2/form/fld_ftlink.c ncurses-5.2/form/fld_info.c ncurses-5.2/form/fld_just.c ncurses-5.2/form/fld_link.c ncurses-5.2/form/fld_max.c ncurses-5.2/form/fld_move.c ncurses-5.2/form/fld_newftyp.c ncurses-5.2/form/fld_opts.c ncurses-5.2/form/fld_pad.c ncurses-5.2/form/fld_page.c ncurses-5.2/form/fld_stat.c ncurses-5.2/form/fld_type.c ncurses-5.2/form/fld_user.c ncurses-5.2/form/form.h ncurses-5.2/form/form.priv.h ncurses-5.2/form/frm_cursor.c ncurses-5.2/form/frm_data.c ncurses-5.2/form/frm_def.c ncurses-5.2/form/frm_driver.c ncurses-5.2/form/frm_hook.c ncurses-5.2/form/frm_opts.c ncurses-5.2/form/frm_page.c ncurses-5.2/form/frm_post.c ncurses-5.2/form/frm_req_name.c ncurses-5.2/form/frm_scale.c ncurses-5.2/form/frm_sub.c ncurses-5.2/form/frm_user.c ncurses-5.2/form/frm_win.c ncurses-5.2/form/fty_alnum.c ncurses-5.2/form/fty_alpha.c ncurses-5.2/form/fty_enum.c ncurses-5.2/form/fty_int.c ncurses-5.2/form/fty_ipv4.c ncurses-5.2/form/fty_num.c ncurses-5.2/form/fty_regex.c ncurses-5.2/form/headers ncurses-5.2/form/llib-lform ncurses-5.2/form/modules ncurses-5.2/include/Caps ncurses-5.2/include/MKhashsize.sh ncurses-5.2/include/MKncurses_def.sh ncurses-5.2/include/MKparametrized.sh ncurses-5.2/include/MKterm.h.awk.in ncurses-5.2/include/Makefile.in ncurses-5.2/include/capdefaults.c ncurses-5.2/include/curses.h.in ncurses-5.2/include/edit_cfg.sh ncurses-5.2/include/headers ncurses-5.2/include/nc_alloc.h ncurses-5.2/include/nc_panel.h ncurses-5.2/include/ncurses_cfg.hin ncurses-5.2/include/ncurses_defs ncurses-5.2/include/term_entry.h ncurses-5.2/include/termcap.h.in ncurses-5.2/include/tic.h ncurses-5.2/include/unctrl.h.in ncurses-5.2/install-sh ncurses-5.2/man/MKterminfo.sh ncurses-5.2/man/Makefile.in ncurses-5.2/man/captoinfo.1m ncurses-5.2/man/clear.1 ncurses-5.2/man/curs_addch.3x ncurses-5.2/man/curs_addchstr.3x ncurses-5.2/man/curs_addstr.3x ncurses-5.2/man/curs_attr.3x ncurses-5.2/man/curs_beep.3x ncurses-5.2/man/curs_bkgd.3x ncurses-5.2/man/curs_border.3x ncurses-5.2/man/curs_clear.3x ncurses-5.2/man/curs_color.3x ncurses-5.2/man/curs_delch.3x ncurses-5.2/man/curs_deleteln.3x ncurses-5.2/man/curs_extend.3x ncurses-5.2/man/curs_getch.3x ncurses-5.2/man/curs_getstr.3x ncurses-5.2/man/curs_getyx.3x ncurses-5.2/man/curs_inch.3x ncurses-5.2/man/curs_inchstr.3x ncurses-5.2/man/curs_initscr.3x ncurses-5.2/man/curs_inopts.3x ncurses-5.2/man/curs_insch.3x ncurses-5.2/man/curs_insstr.3x ncurses-5.2/man/curs_instr.3x ncurses-5.2/man/curs_kernel.3x ncurses-5.2/man/curs_mouse.3x ncurses-5.2/man/curs_move.3x ncurses-5.2/man/curs_outopts.3x ncurses-5.2/man/curs_overlay.3x ncurses-5.2/man/curs_pad.3x ncurses-5.2/man/curs_print.3x ncurses-5.2/man/curs_printw.3x ncurses-5.2/man/curs_refresh.3x ncurses-5.2/man/curs_scanw.3x ncurses-5.2/man/curs_scr_dump.3x ncurses-5.2/man/curs_scroll.3x ncurses-5.2/man/curs_slk.3x ncurses-5.2/man/curs_termattrs.3x ncurses-5.2/man/curs_termcap.3x ncurses-5.2/man/curs_terminfo.3x ncurses-5.2/man/curs_touch.3x ncurses-5.2/man/curs_trace.3x ncurses-5.2/man/curs_util.3x ncurses-5.2/man/curs_window.3x ncurses-5.2/man/default_colors.3x ncurses-5.2/man/define_key.3x ncurses-5.2/man/form.3x ncurses-5.2/man/form_cursor.3x ncurses-5.2/man/form_data.3x ncurses-5.2/man/form_driver.3x ncurses-5.2/man/form_field.3x ncurses-5.2/man/form_field_attributes.3x ncurses-5.2/man/form_field_buffer.3x ncurses-5.2/man/form_field_info.3x ncurses-5.2/man/form_field_just.3x ncurses-5.2/man/form_field_new.3x ncurses-5.2/man/form_field_opts.3x ncurses-5.2/man/form_field_userptr.3x ncurses-5.2/man/form_field_validation.3x ncurses-5.2/man/form_fieldtype.3x ncurses-5.2/man/form_hook.3x ncurses-5.2/man/form_new.3x ncurses-5.2/man/form_new_page.3x ncurses-5.2/man/form_opts.3x ncurses-5.2/man/form_page.3x ncurses-5.2/man/form_post.3x ncurses-5.2/man/form_requestname.3x ncurses-5.2/man/form_userptr.3x ncurses-5.2/man/form_win.3x ncurses-5.2/man/infocmp.1m ncurses-5.2/man/infotocap.1m ncurses-5.2/man/keybound.3x ncurses-5.2/man/keyok.3x ncurses-5.2/man/make_sed.sh ncurses-5.2/man/man_db.renames ncurses-5.2/man/manlinks.sed ncurses-5.2/man/menu.3x ncurses-5.2/man/menu_attributes.3x ncurses-5.2/man/menu_cursor.3x ncurses-5.2/man/menu_driver.3x ncurses-5.2/man/menu_format.3x ncurses-5.2/man/menu_hook.3x ncurses-5.2/man/menu_items.3x ncurses-5.2/man/menu_mark.3x ncurses-5.2/man/menu_new.3x ncurses-5.2/man/menu_opts.3x ncurses-5.2/man/menu_pattern.3x ncurses-5.2/man/menu_post.3x ncurses-5.2/man/menu_requestname.3x ncurses-5.2/man/menu_spacing.3x ncurses-5.2/man/menu_userptr.3x ncurses-5.2/man/menu_win.3x ncurses-5.2/man/mitem_current.3x ncurses-5.2/man/mitem_name.3x ncurses-5.2/man/mitem_new.3x ncurses-5.2/man/mitem_opts.3x ncurses-5.2/man/mitem_userptr.3x ncurses-5.2/man/mitem_value.3x ncurses-5.2/man/mitem_visible.3x ncurses-5.2/man/ncurses.3x ncurses-5.2/man/panel.3x ncurses-5.2/man/resizeterm.3x ncurses-5.2/man/term.5 ncurses-5.2/man/term.7 ncurses-5.2/man/terminfo.head ncurses-5.2/man/terminfo.tail ncurses-5.2/man/tic.1m ncurses-5.2/man/toe.1m ncurses-5.2/man/tput.1 ncurses-5.2/man/tset.1 ncurses-5.2/man/wresize.3x ncurses-5.2/menu/Makefile.in ncurses-5.2/menu/READ.ME ncurses-5.2/menu/eti.h ncurses-5.2/menu/headers ncurses-5.2/menu/llib-lmenu ncurses-5.2/menu/m_attribs.c ncurses-5.2/menu/m_cursor.c ncurses-5.2/menu/m_driver.c ncurses-5.2/menu/m_format.c ncurses-5.2/menu/m_global.c ncurses-5.2/menu/m_hook.c ncurses-5.2/menu/m_item_cur.c ncurses-5.2/menu/m_item_nam.c ncurses-5.2/menu/m_item_new.c ncurses-5.2/menu/m_item_opt.c ncurses-5.2/menu/m_item_top.c ncurses-5.2/menu/m_item_use.c ncurses-5.2/menu/m_item_val.c ncurses-5.2/menu/m_item_vis.c ncurses-5.2/menu/m_items.c ncurses-5.2/menu/m_new.c ncurses-5.2/menu/m_opts.c ncurses-5.2/menu/m_pad.c ncurses-5.2/menu/m_pattern.c ncurses-5.2/menu/m_post.c ncurses-5.2/menu/m_req_name.c ncurses-5.2/menu/m_scale.c ncurses-5.2/menu/m_spacing.c ncurses-5.2/menu/m_sub.c ncurses-5.2/menu/m_userptr.c ncurses-5.2/menu/m_win.c ncurses-5.2/menu/menu.h ncurses-5.2/menu/menu.priv.h ncurses-5.2/menu/mf_common.h ncurses-5.2/menu/modules ncurses-5.2/misc/Makefile.in ncurses-5.2/misc/chkdef.cmd ncurses-5.2/misc/cleantic.cmd ncurses-5.2/misc/cmpdef.cmd ncurses-5.2/misc/emx.src ncurses-5.2/misc/form.def ncurses-5.2/misc/form.ref ncurses-5.2/misc/indent.pro ncurses-5.2/misc/makedef.cmd ncurses-5.2/misc/makellib ncurses-5.2/misc/menu.def ncurses-5.2/misc/menu.ref ncurses-5.2/misc/ncurses.def ncurses-5.2/misc/ncurses.ref ncurses-5.2/misc/panel.def ncurses-5.2/misc/panel.ref ncurses-5.2/misc/run_tic.in ncurses-5.2/misc/shlib ncurses-5.2/misc/tabset/std ncurses-5.2/misc/tabset/stdcrt ncurses-5.2/misc/tabset/vt100 ncurses-5.2/misc/tabset/vt300 ncurses-5.2/misc/tdlint ncurses-5.2/misc/terminfo.src ncurses-5.2/mk-0th.awk ncurses-5.2/mk-1st.awk ncurses-5.2/mk-2nd.awk ncurses-5.2/mkinstalldirs ncurses-5.2/ncurses/Makefile.in ncurses-5.2/ncurses/README ncurses-5.2/ncurses/SigAction.h ncurses-5.2/ncurses/base/MKkeyname.awk ncurses-5.2/ncurses/base/MKlib_gen.sh ncurses-5.2/ncurses/base/MKunctrl.awk ncurses-5.2/ncurses/base/README ncurses-5.2/ncurses/base/define_key.c ncurses-5.2/ncurses/base/keybound.c ncurses-5.2/ncurses/base/keyok.c ncurses-5.2/ncurses/base/lib_addch.c ncurses-5.2/ncurses/base/lib_addstr.c ncurses-5.2/ncurses/base/lib_beep.c ncurses-5.2/ncurses/base/lib_bkgd.c ncurses-5.2/ncurses/base/lib_box.c ncurses-5.2/ncurses/base/lib_chgat.c ncurses-5.2/ncurses/base/lib_clear.c ncurses-5.2/ncurses/base/lib_clearok.c ncurses-5.2/ncurses/base/lib_clrbot.c ncurses-5.2/ncurses/base/lib_clreol.c ncurses-5.2/ncurses/base/lib_color.c ncurses-5.2/ncurses/base/lib_colorset.c ncurses-5.2/ncurses/base/lib_delch.c ncurses-5.2/ncurses/base/lib_delwin.c ncurses-5.2/ncurses/base/lib_dft_fgbg.c ncurses-5.2/ncurses/base/lib_echo.c ncurses-5.2/ncurses/base/lib_endwin.c ncurses-5.2/ncurses/base/lib_erase.c ncurses-5.2/ncurses/base/lib_flash.c ncurses-5.2/ncurses/base/lib_freeall.c ncurses-5.2/ncurses/base/lib_getch.c ncurses-5.2/ncurses/base/lib_getstr.c ncurses-5.2/ncurses/base/lib_hline.c ncurses-5.2/ncurses/base/lib_immedok.c ncurses-5.2/ncurses/base/lib_inchstr.c ncurses-5.2/ncurses/base/lib_initscr.c ncurses-5.2/ncurses/base/lib_insch.c ncurses-5.2/ncurses/base/lib_insdel.c ncurses-5.2/ncurses/base/lib_insstr.c ncurses-5.2/ncurses/base/lib_instr.c ncurses-5.2/ncurses/base/lib_isendwin.c ncurses-5.2/ncurses/base/lib_leaveok.c ncurses-5.2/ncurses/base/lib_mouse.c ncurses-5.2/ncurses/base/lib_move.c ncurses-5.2/ncurses/base/lib_mvwin.c ncurses-5.2/ncurses/base/lib_newterm.c ncurses-5.2/ncurses/base/lib_newwin.c ncurses-5.2/ncurses/base/lib_nl.c ncurses-5.2/ncurses/base/lib_overlay.c ncurses-5.2/ncurses/base/lib_pad.c ncurses-5.2/ncurses/base/lib_printw.c ncurses-5.2/ncurses/base/lib_redrawln.c ncurses-5.2/ncurses/base/lib_refresh.c ncurses-5.2/ncurses/base/lib_restart.c ncurses-5.2/ncurses/base/lib_scanw.c ncurses-5.2/ncurses/base/lib_screen.c ncurses-5.2/ncurses/base/lib_scroll.c ncurses-5.2/ncurses/base/lib_scrollok.c ncurses-5.2/ncurses/base/lib_scrreg.c ncurses-5.2/ncurses/base/lib_set_term.c ncurses-5.2/ncurses/base/lib_slk.c ncurses-5.2/ncurses/base/lib_slkatr_set.c ncurses-5.2/ncurses/base/lib_slkatrof.c ncurses-5.2/ncurses/base/lib_slkatron.c ncurses-5.2/ncurses/base/lib_slkatrset.c ncurses-5.2/ncurses/base/lib_slkattr.c ncurses-5.2/ncurses/base/lib_slkclear.c ncurses-5.2/ncurses/base/lib_slkcolor.c ncurses-5.2/ncurses/base/lib_slkinit.c ncurses-5.2/ncurses/base/lib_slklab.c ncurses-5.2/ncurses/base/lib_slkrefr.c ncurses-5.2/ncurses/base/lib_slkset.c ncurses-5.2/ncurses/base/lib_slktouch.c ncurses-5.2/ncurses/base/lib_touch.c ncurses-5.2/ncurses/base/lib_ungetch.c ncurses-5.2/ncurses/base/lib_vline.c ncurses-5.2/ncurses/base/lib_wattroff.c ncurses-5.2/ncurses/base/lib_wattron.c ncurses-5.2/ncurses/base/lib_winch.c ncurses-5.2/ncurses/base/lib_window.c ncurses-5.2/ncurses/base/memmove.c ncurses-5.2/ncurses/base/nc_panel.c ncurses-5.2/ncurses/base/resizeterm.c ncurses-5.2/ncurses/base/safe_sprintf.c ncurses-5.2/ncurses/base/sigaction.c ncurses-5.2/ncurses/base/tries.c ncurses-5.2/ncurses/base/version.c ncurses-5.2/ncurses/base/vsscanf.c ncurses-5.2/ncurses/base/wresize.c ncurses-5.2/ncurses/curses.priv.h ncurses-5.2/ncurses/fifo_defs.h ncurses-5.2/ncurses/llib-lncurses ncurses-5.2/ncurses/modules ncurses-5.2/ncurses/tinfo/MKcaptab.awk ncurses-5.2/ncurses/tinfo/MKfallback.sh ncurses-5.2/ncurses/tinfo/MKnames.awk ncurses-5.2/ncurses/tinfo/README ncurses-5.2/ncurses/tinfo/access.c ncurses-5.2/ncurses/tinfo/add_tries.c ncurses-5.2/ncurses/tinfo/alloc_entry.c ncurses-5.2/ncurses/tinfo/alloc_ttype.c ncurses-5.2/ncurses/tinfo/captoinfo.c ncurses-5.2/ncurses/tinfo/comp_error.c ncurses-5.2/ncurses/tinfo/comp_expand.c ncurses-5.2/ncurses/tinfo/comp_hash.c ncurses-5.2/ncurses/tinfo/comp_parse.c ncurses-5.2/ncurses/tinfo/comp_scan.c ncurses-5.2/ncurses/tinfo/doalloc.c ncurses-5.2/ncurses/tinfo/free_ttype.c ncurses-5.2/ncurses/tinfo/getenv_num.c ncurses-5.2/ncurses/tinfo/home_terminfo.c ncurses-5.2/ncurses/tinfo/init_keytry.c ncurses-5.2/ncurses/tinfo/keys.list ncurses-5.2/ncurses/tinfo/lib_acs.c ncurses-5.2/ncurses/tinfo/lib_baudrate.c ncurses-5.2/ncurses/tinfo/lib_cur_term.c ncurses-5.2/ncurses/tinfo/lib_data.c ncurses-5.2/ncurses/tinfo/lib_has_cap.c ncurses-5.2/ncurses/tinfo/lib_kernel.c ncurses-5.2/ncurses/tinfo/lib_longname.c ncurses-5.2/ncurses/tinfo/lib_napms.c ncurses-5.2/ncurses/tinfo/lib_options.c ncurses-5.2/ncurses/tinfo/lib_print.c ncurses-5.2/ncurses/tinfo/lib_raw.c ncurses-5.2/ncurses/tinfo/lib_setup.c ncurses-5.2/ncurses/tinfo/lib_termcap.c ncurses-5.2/ncurses/tinfo/lib_termname.c ncurses-5.2/ncurses/tinfo/lib_tgoto.c ncurses-5.2/ncurses/tinfo/lib_ti.c ncurses-5.2/ncurses/tinfo/lib_tparm.c ncurses-5.2/ncurses/tinfo/lib_tputs.c ncurses-5.2/ncurses/tinfo/lib_ttyflags.c ncurses-5.2/ncurses/tinfo/make_keys.c ncurses-5.2/ncurses/tinfo/name_match.c ncurses-5.2/ncurses/tinfo/parse_entry.c ncurses-5.2/ncurses/tinfo/read_entry.c ncurses-5.2/ncurses/tinfo/read_termcap.c ncurses-5.2/ncurses/tinfo/setbuf.c ncurses-5.2/ncurses/tinfo/strings.c ncurses-5.2/ncurses/tinfo/write_entry.c ncurses-5.2/ncurses/trace/README ncurses-5.2/ncurses/trace/lib_trace.c ncurses-5.2/ncurses/trace/lib_traceatr.c ncurses-5.2/ncurses/trace/lib_tracebits.c ncurses-5.2/ncurses/trace/lib_tracechr.c ncurses-5.2/ncurses/trace/lib_tracedmp.c ncurses-5.2/ncurses/trace/lib_tracemse.c ncurses-5.2/ncurses/trace/trace_buf.c ncurses-5.2/ncurses/trace/trace_tries.c ncurses-5.2/ncurses/trace/trace_xnames.c ncurses-5.2/ncurses/tty/MKexpanded.sh ncurses-5.2/ncurses/tty/hardscroll.c ncurses-5.2/ncurses/tty/hashmap.c ncurses-5.2/ncurses/tty/lib_mvcur.c ncurses-5.2/ncurses/tty/lib_tstp.c ncurses-5.2/ncurses/tty/lib_twait.c ncurses-5.2/ncurses/tty/lib_vidattr.c ncurses-5.2/ncurses/tty/tty_display.h ncurses-5.2/ncurses/tty/tty_input.h ncurses-5.2/ncurses/tty/tty_update.c ncurses-5.2/panel/Makefile.in ncurses-5.2/panel/headers ncurses-5.2/panel/llib-lpanel ncurses-5.2/panel/modules ncurses-5.2/panel/p_above.c ncurses-5.2/panel/p_below.c ncurses-5.2/panel/p_bottom.c ncurses-5.2/panel/p_delete.c ncurses-5.2/panel/p_hidden.c ncurses-5.2/panel/p_hide.c ncurses-5.2/panel/p_move.c ncurses-5.2/panel/p_new.c ncurses-5.2/panel/p_replace.c ncurses-5.2/panel/p_show.c ncurses-5.2/panel/p_top.c ncurses-5.2/panel/p_update.c ncurses-5.2/panel/p_user.c ncurses-5.2/panel/p_win.c ncurses-5.2/panel/panel.c ncurses-5.2/panel/panel.h ncurses-5.2/panel/panel.priv.h ncurses-5.2/progs/MKtermsort.sh ncurses-5.2/progs/Makefile.in ncurses-5.2/progs/capconvert ncurses-5.2/progs/clear.c ncurses-5.2/progs/clear.sh ncurses-5.2/progs/dump_entry.c ncurses-5.2/progs/dump_entry.h ncurses-5.2/progs/infocmp.c ncurses-5.2/progs/modules ncurses-5.2/progs/progs.priv.h ncurses-5.2/progs/tic.c ncurses-5.2/progs/toe.c ncurses-5.2/progs/tput.c ncurses-5.2/progs/tset.c ncurses-5.2/sysdeps/unix/sysv/linux/Makefile ncurses-5.2/sysdeps/unix/sysv/linux/alpha/configure ncurses-5.2/sysdeps/unix/sysv/linux/configure ncurses-5.2/sysdeps/unix/sysv/linux/edit_man.sed ncurses-5.2/sysdeps/unix/sysv/linux/edit_man.sh ncurses-5.2/sysdeps/unix/sysv/linux/run_tic.sh ncurses-5.2/tack/COPYING ncurses-5.2/tack/HISTORY ncurses-5.2/tack/Makefile.in ncurses-5.2/tack/README ncurses-5.2/tack/ansi.c ncurses-5.2/tack/charset.c ncurses-5.2/tack/color.c ncurses-5.2/tack/control.c ncurses-5.2/tack/crum.c ncurses-5.2/tack/edit.c ncurses-5.2/tack/fun.c ncurses-5.2/tack/init.c ncurses-5.2/tack/menu.c ncurses-5.2/tack/modes.c ncurses-5.2/tack/modules ncurses-5.2/tack/output.c ncurses-5.2/tack/pad.c ncurses-5.2/tack/scan.c ncurses-5.2/tack/sync.c ncurses-5.2/tack/sysdep.c ncurses-5.2/tack/tack.1 ncurses-5.2/tack/tack.c ncurses-5.2/tack/tack.h ncurses-5.2/tar-copy.sh ncurses-5.2/test/Makefile.in ncurses-5.2/test/README ncurses-5.2/test/blue.c ncurses-5.2/test/bs.6 ncurses-5.2/test/bs.c ncurses-5.2/test/cardfile.c ncurses-5.2/test/cardfile.dat ncurses-5.2/test/configure ncurses-5.2/test/configure.in ncurses-5.2/test/ditto.c ncurses-5.2/test/dots.c ncurses-5.2/test/filter.c ncurses-5.2/test/firework.c ncurses-5.2/test/firstlast.c ncurses-5.2/test/gdc.6 ncurses-5.2/test/gdc.c ncurses-5.2/test/hanoi.c ncurses-5.2/test/hashtest.c ncurses-5.2/test/keynames.c ncurses-5.2/test/knight.c ncurses-5.2/test/lrtest.c ncurses-5.2/test/modules ncurses-5.2/test/ncurses.c ncurses-5.2/test/ncurses_tst.hin ncurses-5.2/test/newdemo.c ncurses-5.2/test/railroad.c ncurses-5.2/test/rain.c ncurses-5.2/test/tclock.c ncurses-5.2/test/test.priv.h ncurses-5.2/test/testaddch.c ncurses-5.2/test/testcurs.c ncurses-5.2/test/testscanw.c ncurses-5.2/test/tracemunch ncurses-5.2/test/view.c ncurses-5.2/test/worm.c ncurses-5.2/test/xmas.c Cherrypick from master 2003-01-28 19:56:05 UTC Joel Sherrill <joel.sherrill@OARcorp.com> '2003-01-28 Joel Sherrill <joel@OARcorp.com>': ChangeLog RTEMS_Makefiles/Makefile.bfd RTEMS_Makefiles/Makefile.libtecla RTEMS_Makefiles/Makefile.ncurses RTEMS_Makefiles/Makefile.ncurses-5.3 RTEMS_Makefiles/Makefile.readline-4.3 SUPPORT VERSION bit bit_bfd libtecla-1.4.1/CHANGES libtecla-1.4.1/INSTALL libtecla-1.4.1/LICENSE.TERMS libtecla-1.4.1/Makefile libtecla-1.4.1/Makefile.in libtecla-1.4.1/Makefile.rules libtecla-1.4.1/Makefile.stub libtecla-1.4.1/PORTING libtecla-1.4.1/README libtecla-1.4.1/RELEASE.NOTES libtecla-1.4.1/config.guess libtecla-1.4.1/config.sub libtecla-1.4.1/configure libtecla-1.4.1/configure.in libtecla-1.4.1/cplfile.c libtecla-1.4.1/cplfile.h libtecla-1.4.1/cplmatch.c libtecla-1.4.1/demo.c libtecla-1.4.1/demo2.c libtecla-1.4.1/direader.c libtecla-1.4.1/direader.h libtecla-1.4.1/enhance.c libtecla-1.4.1/expand.c libtecla-1.4.1/freelist.c libtecla-1.4.1/freelist.h libtecla-1.4.1/getline.c libtecla-1.4.1/getline.h libtecla-1.4.1/hash.c libtecla-1.4.1/hash.h libtecla-1.4.1/history.c libtecla-1.4.1/history.h libtecla-1.4.1/homedir.c libtecla-1.4.1/homedir.h libtecla-1.4.1/html/changes.html libtecla-1.4.1/html/cpl_complete_word.html libtecla-1.4.1/html/ef_expand_file.html libtecla-1.4.1/html/enhance.html libtecla-1.4.1/html/gl_get_line.html libtecla-1.4.1/html/index.html libtecla-1.4.1/html/libtecla.html libtecla-1.4.1/html/pca_lookup_file.html libtecla-1.4.1/html/release.html libtecla-1.4.1/install-sh libtecla-1.4.1/keytab.c libtecla-1.4.1/keytab.h libtecla-1.4.1/libtecla.h libtecla-1.4.1/libtecla.map libtecla-1.4.1/man3/cfc_file_start.3 libtecla-1.4.1/man3/cfc_literal_escapes.3 libtecla-1.4.1/man3/cfc_set_check_fn.3 libtecla-1.4.1/man3/cpl_add_completion.3 libtecla-1.4.1/man3/cpl_complete_word.3 libtecla-1.4.1/man3/cpl_file_completions.3 libtecla-1.4.1/man3/cpl_last_error.3 libtecla-1.4.1/man3/cpl_list_completions.3 libtecla-1.4.1/man3/cpl_record_error.3 libtecla-1.4.1/man3/del_CplFileConf.3 libtecla-1.4.1/man3/del_ExpandFile.3 libtecla-1.4.1/man3/del_GetLine.3 libtecla-1.4.1/man3/del_PathCache.3 libtecla-1.4.1/man3/del_PcaPathConf.3 libtecla-1.4.1/man3/del_WordCompletion.3 libtecla-1.4.1/man3/ef_expand_file.3 libtecla-1.4.1/man3/ef_last_error.3 libtecla-1.4.1/man3/ef_list_expansions.3 libtecla-1.4.1/man3/enhance.3 libtecla-1.4.1/man3/gl_change_terminal.3 libtecla-1.4.1/man3/gl_clear_history.3 libtecla-1.4.1/man3/gl_configure_getline.3 libtecla-1.4.1/man3/gl_customize_completion.3 libtecla-1.4.1/man3/gl_echo_mode.3 libtecla-1.4.1/man3/gl_get_line.3 libtecla-1.4.1/man3/gl_group_history.3 libtecla-1.4.1/man3/gl_ignore_signal.3 libtecla-1.4.1/man3/gl_last_signal.3 libtecla-1.4.1/man3/gl_limit_history.3 libtecla-1.4.1/man3/gl_load_history.3 libtecla-1.4.1/man3/gl_lookup_history.3 libtecla-1.4.1/man3/gl_prompt_style.3 libtecla-1.4.1/man3/gl_range_of_history.3 libtecla-1.4.1/man3/gl_resize_history.3 libtecla-1.4.1/man3/gl_save_history.3 libtecla-1.4.1/man3/gl_show_history.3 libtecla-1.4.1/man3/gl_size_of_history.3 libtecla-1.4.1/man3/gl_state_of_history.3 libtecla-1.4.1/man3/gl_terminal_size.3 libtecla-1.4.1/man3/gl_toggle_history.3 libtecla-1.4.1/man3/gl_trap_signal.3 libtecla-1.4.1/man3/gl_watch_fd.3 libtecla-1.4.1/man3/libtecla.3 libtecla-1.4.1/man3/libtecla_version.3 libtecla-1.4.1/man3/new_CplFileConf.3 libtecla-1.4.1/man3/new_ExpandFile.3 libtecla-1.4.1/man3/new_GetLine.3 libtecla-1.4.1/man3/new_PathCache.3 libtecla-1.4.1/man3/new_PcaPathConf.3 libtecla-1.4.1/man3/new_WordCompletion.3 libtecla-1.4.1/man3/pca_last_error.3 libtecla-1.4.1/man3/pca_lookup_file.3 libtecla-1.4.1/man3/pca_path_completions.3 libtecla-1.4.1/man3/pca_scan_path.3 libtecla-1.4.1/man3/pca_set_check_fn.3 libtecla-1.4.1/man3/ppc_file_start.3 libtecla-1.4.1/man3/ppc_literal_escapes.3 libtecla-1.4.1/pathutil.c libtecla-1.4.1/pathutil.h libtecla-1.4.1/pcache.c libtecla-1.4.1/stringrp.c libtecla-1.4.1/stringrp.h libtecla-1.4.1/strngmem.c libtecla-1.4.1/strngmem.h libtecla-1.4.1/update_html libtecla-1.4.1/update_version libtecla-1.4.1/version.c readline-4.3.orig/CHANGELOG readline-4.3.orig/CHANGES readline-4.3.orig/COPYING readline-4.3.orig/INSTALL readline-4.3.orig/MANIFEST readline-4.3.orig/Makefile.in readline-4.3.orig/README readline-4.3.orig/USAGE readline-4.3.orig/aclocal.m4 readline-4.3.orig/ansi_stdlib.h readline-4.3.orig/bind.c readline-4.3.orig/callback.c readline-4.3.orig/chardefs.h readline-4.3.orig/compat.c readline-4.3.orig/complete.c readline-4.3.orig/config.h.in readline-4.3.orig/configure readline-4.3.orig/configure.in readline-4.3.orig/display.c readline-4.3.orig/doc/Makefile.in readline-4.3.orig/doc/hist.texinfo readline-4.3.orig/doc/history.0 readline-4.3.orig/doc/history.3 readline-4.3.orig/doc/history.dvi readline-4.3.orig/doc/history.html readline-4.3.orig/doc/history.info readline-4.3.orig/doc/history.ps readline-4.3.orig/doc/history_3.ps readline-4.3.orig/doc/hstech.texinfo readline-4.3.orig/doc/hsuser.texinfo readline-4.3.orig/doc/manvers.texinfo readline-4.3.orig/doc/readline.0 readline-4.3.orig/doc/readline.3 readline-4.3.orig/doc/readline.dvi readline-4.3.orig/doc/readline.html readline-4.3.orig/doc/readline.info readline-4.3.orig/doc/readline.ps readline-4.3.orig/doc/readline_3.ps readline-4.3.orig/doc/rlman.texinfo readline-4.3.orig/doc/rltech.texinfo readline-4.3.orig/doc/rluser.texinfo readline-4.3.orig/doc/rluserman.dvi readline-4.3.orig/doc/rluserman.html readline-4.3.orig/doc/rluserman.info readline-4.3.orig/doc/rluserman.ps readline-4.3.orig/doc/rluserman.texinfo readline-4.3.orig/doc/texi2dvi readline-4.3.orig/doc/texi2html readline-4.3.orig/doc/texinfo.tex readline-4.3.orig/emacs_keymap.c readline-4.3.orig/examples/Inputrc readline-4.3.orig/examples/Makefile.in readline-4.3.orig/examples/excallback.c readline-4.3.orig/examples/fileman.c readline-4.3.orig/examples/histexamp.c readline-4.3.orig/examples/manexamp.c readline-4.3.orig/examples/readlinebuf.h readline-4.3.orig/examples/rl.c readline-4.3.orig/examples/rlcat.c readline-4.3.orig/examples/rlfe.c readline-4.3.orig/examples/rltest.c readline-4.3.orig/examples/rlversion.c readline-4.3.orig/funmap.c readline-4.3.orig/histexpand.c readline-4.3.orig/histfile.c readline-4.3.orig/histlib.h readline-4.3.orig/history.c readline-4.3.orig/history.h readline-4.3.orig/histsearch.c readline-4.3.orig/input.c readline-4.3.orig/isearch.c readline-4.3.orig/keymaps.c readline-4.3.orig/keymaps.h readline-4.3.orig/kill.c readline-4.3.orig/macro.c readline-4.3.orig/mbutil.c readline-4.3.orig/misc.c readline-4.3.orig/nls.c readline-4.3.orig/parens.c readline-4.3.orig/posixdir.h readline-4.3.orig/posixjmp.h readline-4.3.orig/posixstat.h readline-4.3.orig/readline.c readline-4.3.orig/readline.h readline-4.3.orig/rlconf.h readline-4.3.orig/rldefs.h readline-4.3.orig/rlmbutil.h readline-4.3.orig/rlprivate.h readline-4.3.orig/rlshell.h readline-4.3.orig/rlstdc.h readline-4.3.orig/rltty.c readline-4.3.orig/rltty.h readline-4.3.orig/rltypedefs.h readline-4.3.orig/rlwinsize.h readline-4.3.orig/savestring.c readline-4.3.orig/search.c readline-4.3.orig/shell.c readline-4.3.orig/shlib/Makefile.in readline-4.3.orig/signals.c readline-4.3.orig/support/config.guess readline-4.3.orig/support/config.sub readline-4.3.orig/support/install.sh readline-4.3.orig/support/mkdirs readline-4.3.orig/support/mkdist readline-4.3.orig/support/shlib-install readline-4.3.orig/support/shobj-conf readline-4.3.orig/support/wcwidth.c readline-4.3.orig/tcap.h readline-4.3.orig/terminal.c readline-4.3.orig/text.c readline-4.3.orig/tilde.c readline-4.3.orig/tilde.h readline-4.3.orig/undo.c readline-4.3.orig/util.c readline-4.3.orig/vi_keymap.c readline-4.3.orig/vi_mode.c readline-4.3.orig/xmalloc.c readline-4.3.orig/xmalloc.h readline-4.3/CHANGELOG-ReadLine readline-4.3/CHANGES readline-4.3/COPYING readline-4.3/INSTALL readline-4.3/MANIFEST readline-4.3/Makefile.in readline-4.3/README readline-4.3/USAGE readline-4.3/aclocal.m4 readline-4.3/ansi_stdlib.h readline-4.3/bind.c readline-4.3/callback.c readline-4.3/chardefs.h readline-4.3/compat.c readline-4.3/complete.c readline-4.3/config.h.in readline-4.3/configure readline-4.3/configure.in readline-4.3/display.c readline-4.3/doc/Makefile.in readline-4.3/doc/hist.texinfo readline-4.3/doc/history.3 readline-4.3/doc/hstech.texinfo readline-4.3/doc/hsuser.texinfo readline-4.3/doc/manvers.texinfo readline-4.3/doc/readline.3 readline-4.3/doc/rlman.texinfo readline-4.3/doc/rltech.texinfo readline-4.3/doc/rluser.texinfo readline-4.3/doc/rluserman.texinfo readline-4.3/doc/texi2dvi readline-4.3/doc/texi2html readline-4.3/doc/texinfo.tex readline-4.3/emacs_keymap.c readline-4.3/examples/Inputrc readline-4.3/examples/Makefile.in readline-4.3/examples/excallback.c readline-4.3/examples/fileman.c readline-4.3/examples/histexamp.c readline-4.3/examples/manexamp.c readline-4.3/examples/readlinebuf.h readline-4.3/examples/rl.c readline-4.3/examples/rlcat.c readline-4.3/examples/rlfe.c readline-4.3/examples/rltest.c readline-4.3/examples/rlversion.c readline-4.3/funmap.c readline-4.3/histexpand.c readline-4.3/histfile.c readline-4.3/histlib.h readline-4.3/history.c readline-4.3/history.h readline-4.3/histsearch.c readline-4.3/input.c readline-4.3/isearch.c readline-4.3/keymaps.c readline-4.3/keymaps.h readline-4.3/kill.c readline-4.3/macro.c readline-4.3/mbutil.c readline-4.3/misc.c readline-4.3/nls.c readline-4.3/parens.c readline-4.3/posixdir.h readline-4.3/posixjmp.h readline-4.3/posixstat.h readline-4.3/readline.c readline-4.3/readline.h readline-4.3/rlconf.h readline-4.3/rldefs.h readline-4.3/rlmbutil.h readline-4.3/rlprivate.h readline-4.3/rlshell.h readline-4.3/rlstdc.h readline-4.3/rltty.c readline-4.3/rltty.h readline-4.3/rltypedefs.h readline-4.3/rlwinsize.h readline-4.3/savestring.c readline-4.3/search.c readline-4.3/shell.c readline-4.3/shlib/Makefile.in readline-4.3/signals.c readline-4.3/support/config.guess readline-4.3/support/config.sub readline-4.3/support/install.sh readline-4.3/support/mkdirs readline-4.3/support/mkdist readline-4.3/support/shlib-install readline-4.3/support/shobj-conf readline-4.3/support/wcwidth.c readline-4.3/tcap.h readline-4.3/terminal.c readline-4.3/text.c readline-4.3/tilde.c readline-4.3/tilde.h readline-4.3/undo.c readline-4.3/util.c readline-4.3/vi_keymap.c readline-4.3/vi_mode.c readline-4.3/xmalloc.c readline-4.3/xmalloc.h readline-doc-4.3/MANIFEST.doc readline-doc-4.3/doc/history.0 readline-doc-4.3/doc/history.dvi readline-doc-4.3/doc/history.html readline-doc-4.3/doc/history.info readline-doc-4.3/doc/history.ps readline-doc-4.3/doc/history_3.ps readline-doc-4.3/doc/readline.0 readline-doc-4.3/doc/readline.dvi readline-doc-4.3/doc/readline.html readline-doc-4.3/doc/readline.info readline-doc-4.3/doc/readline.ps readline-doc-4.3/doc/readline_3.ps readline-doc-4.3/doc/rluserman.dvi readline-doc-4.3/doc/rluserman.html readline-doc-4.3/doc/rluserman.info readline-doc-4.3/doc/rluserman.ps
Diffstat (limited to 'ncurses-5.2/ncurses/tinfo/lib_tparm.c')
-rw-r--r--ncurses-5.2/ncurses/tinfo/lib_tparm.c740
1 files changed, 740 insertions, 0 deletions
diff --git a/ncurses-5.2/ncurses/tinfo/lib_tparm.c b/ncurses-5.2/ncurses/tinfo/lib_tparm.c
new file mode 100644
index 0000000..d6b454d
--- /dev/null
+++ b/ncurses-5.2/ncurses/tinfo/lib_tparm.c
@@ -0,0 +1,740 @@
+/****************************************************************************
+ * Copyright (c) 1998,2000 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: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995 *
+ * and: Eric S. Raymond <esr@snark.thyrsus.com> *
+ ****************************************************************************/
+
+/*
+ * tparm.c
+ *
+ */
+
+#include <curses.priv.h>
+
+#include <ctype.h>
+#include <term.h>
+#include <tic.h>
+
+MODULE_ID("$Id$")
+
+/*
+ * char *
+ * tparm(string, ...)
+ *
+ * Substitute the given parameters into the given string by the following
+ * rules (taken from terminfo(5)):
+ *
+ * Cursor addressing and other strings requiring parame-
+ * ters in the terminal are described by a parameterized string
+ * capability, with like escapes %x in it. For example, to
+ * address the cursor, the cup capability is given, using two
+ * parameters: the row and column to address to. (Rows and
+ * columns are numbered from zero and refer to the physical
+ * screen visible to the user, not to any unseen memory.) If
+ * the terminal has memory relative cursor addressing, that can
+ * be indicated by
+ *
+ * The parameter mechanism uses a stack and special %
+ * codes to manipulate it. Typically a sequence will push one
+ * of the parameters onto the stack and then print it in some
+ * format. Often more complex operations are necessary.
+ *
+ * The % encodings have the following meanings:
+ *
+ * %% outputs `%'
+ * %c print pop() like %c in printf()
+ * %s print pop() like %s in printf()
+ * %[[:]flags][width[.precision]][doxXs]
+ * as in printf, flags are [-+#] and space
+ * The ':' is used to avoid making %+ or %-
+ * patterns (see below).
+ *
+ * %p[1-9] push ith parm
+ * %P[a-z] set dynamic variable [a-z] to pop()
+ * %g[a-z] get dynamic variable [a-z] and push it
+ * %P[A-Z] set static variable [A-Z] to pop()
+ * %g[A-Z] get static variable [A-Z] and push it
+ * %l push strlen(pop)
+ * %'c' push char constant c
+ * %{nn} push integer constant nn
+ *
+ * %+ %- %* %/ %m
+ * arithmetic (%m is mod): push(pop() op pop())
+ * %& %| %^ bit operations: push(pop() op pop())
+ * %= %> %< logical operations: push(pop() op pop())
+ * %A %O logical and & or operations for conditionals
+ * %! %~ unary operations push(op pop())
+ * %i add 1 to first two parms (for ANSI terminals)
+ *
+ * %? expr %t thenpart %e elsepart %;
+ * if-then-else, %e elsepart is optional.
+ * else-if's are possible ala Algol 68:
+ * %? c1 %t b1 %e c2 %t b2 %e c3 %t b3 %e c4 %t b4 %e b5 %;
+ *
+ * For those of the above operators which are binary and not commutative,
+ * the stack works in the usual way, with
+ * %gx %gy %m
+ * resulting in x mod y, not the reverse.
+ */
+
+#define STACKSIZE 20
+
+typedef struct {
+ union {
+ unsigned int num;
+ char *str;
+ } data;
+ bool num_type;
+} stack_frame;
+
+static stack_frame stack[STACKSIZE];
+static int stack_ptr;
+
+#ifdef TRACE
+static const char *tname;
+#endif /* TRACE */
+
+static char *out_buff;
+static size_t out_size;
+static size_t out_used;
+
+#if NO_LEAKS
+void
+_nc_free_tparm(void)
+{
+ if (out_buff != 0) {
+ FreeAndNull(out_buff);
+ out_size = 0;
+ out_used = 0;
+ }
+}
+#endif
+
+static void
+really_get_space(size_t need)
+{
+ out_size = need * 2;
+ out_buff = typeRealloc(char, out_size, out_buff);
+ if (out_buff == 0)
+ _nc_err_abort("Out of memory");
+}
+
+static inline void
+get_space(size_t need)
+{
+ need += out_used;
+ if (need > out_size)
+ really_get_space(need);
+}
+
+static inline void
+save_text(const char *fmt, const char *s, int len)
+{
+ size_t s_len = strlen(s);
+ if (len > (int) s_len)
+ s_len = len;
+
+ get_space(s_len + 1);
+
+ (void) sprintf(out_buff + out_used, fmt, s);
+ out_used += strlen(out_buff + out_used);
+}
+
+static inline void
+save_number(const char *fmt, int number, int len)
+{
+ if (len < 30)
+ len = 30; /* actually log10(MAX_INT)+1 */
+
+ get_space(len + 1);
+
+ (void) sprintf(out_buff + out_used, fmt, number);
+ out_used += strlen(out_buff + out_used);
+}
+
+static inline void
+save_char(int c)
+{
+ if (c == 0)
+ c = 0200;
+ get_space(1);
+ out_buff[out_used++] = c;
+}
+
+static inline void
+npush(int x)
+{
+ if (stack_ptr < STACKSIZE) {
+ stack[stack_ptr].num_type = TRUE;
+ stack[stack_ptr].data.num = x;
+ stack_ptr++;
+ }
+}
+
+static inline int
+npop(void)
+{
+ int result = 0;
+ if (stack_ptr > 0) {
+ stack_ptr--;
+ if (stack[stack_ptr].num_type)
+ result = stack[stack_ptr].data.num;
+ }
+ return result;
+}
+
+static inline void
+spush(char *x)
+{
+ if (stack_ptr < STACKSIZE) {
+ stack[stack_ptr].num_type = FALSE;
+ stack[stack_ptr].data.str = x;
+ stack_ptr++;
+ }
+}
+
+static inline char *
+spop(void)
+{
+ static char dummy[] = ""; /* avoid const-cast */
+ char *result = dummy;
+ if (stack_ptr > 0) {
+ stack_ptr--;
+ if (!stack[stack_ptr].num_type && stack[stack_ptr].data.str != 0)
+ result = stack[stack_ptr].data.str;
+ }
+ return result;
+}
+
+static inline const char *
+parse_format(const char *s, char *format, int *len)
+{
+ bool done = FALSE;
+ bool allowminus = FALSE;
+ bool dot = FALSE;
+ bool err = FALSE;
+ char *fmt = format;
+ int prec = 0;
+ int width = 0;
+ int value = 0;
+
+ *len = 0;
+ *format++ = '%';
+ while (*s != '\0' && !done) {
+ switch (*s) {
+ case 'c': /* FALLTHRU */
+ case 'd': /* FALLTHRU */
+ case 'o': /* FALLTHRU */
+ case 'x': /* FALLTHRU */
+ case 'X': /* FALLTHRU */
+ case 's':
+ *format++ = *s;
+ done = TRUE;
+ break;
+ case '.':
+ *format++ = *s++;
+ if (dot) {
+ err = TRUE;
+ } else {
+ dot = TRUE;
+ prec = value;
+ }
+ value = 0;
+ break;
+ case '#':
+ *format++ = *s++;
+ break;
+ case ' ':
+ *format++ = *s++;
+ break;
+ case ':':
+ s++;
+ allowminus = TRUE;
+ break;
+ case '-':
+ if (allowminus) {
+ *format++ = *s++;
+ } else {
+ done = TRUE;
+ }
+ break;
+ default:
+ if (isdigit(*s)) {
+ value = (value * 10) + (*s - '0');
+ if (value > 10000)
+ err = TRUE;
+ *format++ = *s++;
+ } else {
+ done = TRUE;
+ }
+ }
+ }
+
+ /*
+ * If we found an error, ignore (and remove) the flags.
+ */
+ if (err) {
+ prec = width = value = 0;
+ format = fmt;
+ *format++ = '%';
+ *format++ = *s;
+ }
+
+ if (dot)
+ width = value;
+ else
+ prec = value;
+
+ *format = '\0';
+ /* return maximum string length in print */
+ *len = (prec > width) ? prec : width;
+ return s;
+}
+
+#define isUPPER(c) ((c) >= 'A' && (c) <= 'Z')
+#define isLOWER(c) ((c) >= 'a' && (c) <= 'z')
+
+static inline char *
+tparam_internal(const char *string, va_list ap)
+{
+#define NUM_VARS 26
+ char *p_is_s[9];
+ int param[9];
+ int lastpop;
+ int popcount;
+ int number;
+ int len;
+ int level;
+ int x, y;
+ int i;
+ size_t len2;
+ register const char *cp;
+ static size_t len_fmt;
+ static char dummy[] = "";
+ static char *format;
+ static int dynamic_var[NUM_VARS];
+ static int static_vars[NUM_VARS];
+
+ out_used = 0;
+ if (string == NULL)
+ return NULL;
+
+ if ((len2 = strlen(string)) > len_fmt) {
+ len_fmt = len2 + len_fmt + 2;
+ if ((format = typeRealloc(char, len_fmt, format)) == 0)
+ return 0;
+ }
+
+ /*
+ * Find the highest parameter-number referred to in the format string.
+ * Use this value to limit the number of arguments copied from the
+ * variable-length argument list.
+ */
+
+ number = 0;
+ lastpop = -1;
+ popcount = 0;
+ memset(p_is_s, 0, sizeof(p_is_s));
+
+ /*
+ * Analyze the string to see how many parameters we need from the varargs
+ * list, and what their types are. We will only accept string parameters
+ * if they appear as a %l or %s format following an explicit parameter
+ * reference (e.g., %p2%s). All other parameters are numbers.
+ *
+ * 'number' counts coarsely the number of pop's we see in the string, and
+ * 'popcount' shows the highest parameter number in the string. We would
+ * like to simply use the latter count, but if we are reading termcap
+ * strings, there may be cases that we cannot see the explicit parameter
+ * numbers.
+ */
+ for (cp = string; (cp - string) < (int) len2;) {
+ if (*cp == '%') {
+ cp++;
+ cp = parse_format(cp, format, &len);
+ switch (*cp) {
+ default:
+ break;
+
+ case 'd': /* FALLTHRU */
+ case 'o': /* FALLTHRU */
+ case 'x': /* FALLTHRU */
+ case 'X': /* FALLTHRU */
+ case 'c': /* FALLTHRU */
+ number++;
+ lastpop = -1;
+ break;
+
+ case 'l':
+ case 's':
+ if (lastpop > 0)
+ p_is_s[lastpop - 1] = dummy;
+ ++number;
+ break;
+
+ case 'p':
+ cp++;
+ i = (*cp - '0');
+ if (i >= 0 && i <= 9) {
+ lastpop = i;
+ if (lastpop > popcount)
+ popcount = lastpop;
+ }
+ break;
+
+ case 'P':
+ case 'g':
+ cp++;
+ break;
+
+ case S_QUOTE:
+ cp += 2;
+ lastpop = -1;
+ break;
+
+ case L_BRACE:
+ cp++;
+ while (*cp >= '0' && *cp <= '9') {
+ cp++;
+ }
+ break;
+
+ case '+':
+ case '-':
+ case '*':
+ case '/':
+ case 'm':
+ case 'A':
+ case 'O':
+ case '&':
+ case '|':
+ case '^':
+ case '=':
+ case '<':
+ case '>':
+ case '!':
+ case '~':
+ lastpop = -1;
+ number += 2;
+ break;
+
+ case 'i':
+ lastpop = -1;
+ if (popcount < 2)
+ popcount = 2;
+ break;
+ }
+ }
+ if (*cp != '\0')
+ cp++;
+ }
+
+ if (number > 9)
+ number = 9;
+ for (i = 0; i < max(popcount, number); i++) {
+ /*
+ * A few caps (such as plab_norm) have string-valued parms.
+ * We'll have to assume that the caller knows the difference, since
+ * a char* and an int may not be the same size on the stack.
+ */
+ if (p_is_s[i] != 0) {
+ p_is_s[i] = va_arg(ap, char *);
+ } else {
+ param[i] = va_arg(ap, int);
+ }
+ }
+
+ /*
+ * This is a termcap compatibility hack. If there are no explicit pop
+ * operations in the string, load the stack in such a way that
+ * successive pops will grab successive parameters. That will make
+ * the expansion of (for example) \E[%d;%dH work correctly in termcap
+ * style, which means tparam() will expand termcap strings OK.
+ */
+ stack_ptr = 0;
+ if (popcount == 0) {
+ popcount = number;
+ for (i = number - 1; i >= 0; i--)
+ npush(param[i]);
+ }
+#ifdef TRACE
+ if (_nc_tracing & TRACE_CALLS) {
+ for (i = 0; i < popcount; i++) {
+ if (p_is_s[i] != 0)
+ save_text(", %s", _nc_visbuf(p_is_s[i]), 0);
+ else
+ save_number(", %d", param[i], 0);
+ }
+ _tracef(T_CALLED("%s(%s%s)"), tname, _nc_visbuf(string), out_buff);
+ out_used = 0;
+ }
+#endif /* TRACE */
+
+ while (*string) {
+ if (*string != '%') {
+ save_char(*string);
+ } else {
+ string++;
+ string = parse_format(string, format, &len);
+ switch (*string) {
+ default:
+ break;
+ case '%':
+ save_char('%');
+ break;
+
+ case 'd': /* FALLTHRU */
+ case 'o': /* FALLTHRU */
+ case 'x': /* FALLTHRU */
+ case 'X': /* FALLTHRU */
+ case 'c': /* FALLTHRU */
+ save_number(format, npop(), len);
+ break;
+
+ case 'l':
+ save_number("%d", strlen(spop()), 0);
+ break;
+
+ case 's':
+ save_text(format, spop(), len);
+ break;
+
+ case 'p':
+ string++;
+ i = (*string - '1');
+ if (i >= 0 && i < 9) {
+ if (p_is_s[i])
+ spush(p_is_s[i]);
+ else
+ npush(param[i]);
+ }
+ break;
+
+ case 'P':
+ string++;
+ if (isUPPER(*string)) {
+ i = (*string - 'A');
+ static_vars[i] = npop();
+ } else if (isLOWER(*string)) {
+ i = (*string - 'a');
+ dynamic_var[i] = npop();
+ }
+ break;
+
+ case 'g':
+ string++;
+ if (isUPPER(*string)) {
+ i = (*string - 'A');
+ npush(static_vars[i]);
+ } else if (isLOWER(*string)) {
+ i = (*string - 'a');
+ npush(dynamic_var[i]);
+ }
+ break;
+
+ case S_QUOTE:
+ string++;
+ npush(*string);
+ string++;
+ break;
+
+ case L_BRACE:
+ number = 0;
+ string++;
+ while (*string >= '0' && *string <= '9') {
+ number = number * 10 + *string - '0';
+ string++;
+ }
+ npush(number);
+ break;
+
+ case '+':
+ npush(npop() + npop());
+ break;
+
+ case '-':
+ y = npop();
+ x = npop();
+ npush(x - y);
+ break;
+
+ case '*':
+ npush(npop() * npop());
+ break;
+
+ case '/':
+ y = npop();
+ x = npop();
+ npush(y ? (x / y) : 0);
+ break;
+
+ case 'm':
+ y = npop();
+ x = npop();
+ npush(y ? (x % y) : 0);
+ break;
+
+ case 'A':
+ npush(npop() && npop());
+ break;
+
+ case 'O':
+ npush(npop() || npop());
+ break;
+
+ case '&':
+ npush(npop() & npop());
+ break;
+
+ case '|':
+ npush(npop() | npop());
+ break;
+
+ case '^':
+ npush(npop() ^ npop());
+ break;
+
+ case '=':
+ y = npop();
+ x = npop();
+ npush(x == y);
+ break;
+
+ case '<':
+ y = npop();
+ x = npop();
+ npush(x < y);
+ break;
+
+ case '>':
+ y = npop();
+ x = npop();
+ npush(x > y);
+ break;
+
+ case '!':
+ npush(!npop());
+ break;
+
+ case '~':
+ npush(~npop());
+ break;
+
+ case 'i':
+ if (p_is_s[0] == 0)
+ param[0]++;
+ if (p_is_s[1] == 0)
+ param[1]++;
+ break;
+
+ case '?':
+ break;
+
+ case 't':
+ x = npop();
+ if (!x) {
+ /* scan forward for %e or %; at level zero */
+ string++;
+ level = 0;
+ while (*string) {
+ if (*string == '%') {
+ string++;
+ if (*string == '?')
+ level++;
+ else if (*string == ';') {
+ if (level > 0)
+ level--;
+ else
+ break;
+ } else if (*string == 'e' && level == 0)
+ break;
+ }
+
+ if (*string)
+ string++;
+ }
+ }
+ break;
+
+ case 'e':
+ /* scan forward for a %; at level zero */
+ string++;
+ level = 0;
+ while (*string) {
+ if (*string == '%') {
+ string++;
+ if (*string == '?')
+ level++;
+ else if (*string == ';') {
+ if (level > 0)
+ level--;
+ else
+ break;
+ }
+ }
+
+ if (*string)
+ string++;
+ }
+ break;
+
+ case ';':
+ break;
+
+ } /* endswitch (*string) */
+ } /* endelse (*string == '%') */
+
+ if (*string == '\0')
+ break;
+
+ string++;
+ } /* endwhile (*string) */
+
+ get_space(1);
+ out_buff[out_used] = '\0';
+
+ T((T_RETURN("%s"), _nc_visbuf(out_buff)));
+ return (out_buff);
+}
+
+char *
+tparm(NCURSES_CONST char *string,...)
+{
+ va_list ap;
+ char *result;
+
+ va_start(ap, string);
+#ifdef TRACE
+ tname = "tparm";
+#endif /* TRACE */
+ result = tparam_internal(string, ap);
+ va_end(ap);
+ return result;
+}