diff --git a/payloads/libpayload/curses/PDCurses/HISTORY b/payloads/libpayload/curses/PDCurses/HISTORY index 7cf5b71acc..6dc7709717 100644 --- a/payloads/libpayload/curses/PDCurses/HISTORY +++ b/payloads/libpayload/curses/PDCurses/HISTORY @@ -1,8 +1,8 @@ PDCurses 3.4 - 2008/09/08 ========================= -Nothing much new this time, but I've been sitting on some bug fixes for -almost a year, so it's overdue. Apart from bugs, the main changes are in +Nothing much new this time, but I've been sitting on some bug fixes for +almost a year, so it's overdue. Apart from bugs, the main changes are in the documentation. New features: @@ -11,11 +11,11 @@ New features: Bug fixes and such: -- In x11, the xc_atrtab table size was under-calculated by half, - resulting in crashes at (oddly) certain line counts. (It should've +- In x11, the xc_atrtab table size was under-calculated by half, + resulting in crashes at (oddly) certain line counts. (It should've crashed a lot more.) Reported by Mark Hessling. -- Test for moved cursor was omitting the window origin offset. Reported +- Test for moved cursor was omitting the window origin offset. Reported by Carey Evans. - Is DOS and OS/2, the value for max items in key_table was still wrong. @@ -23,9 +23,9 @@ Bug fixes and such: - Changed isendwin() so it won't crash after delscreen(). -- Ensure zero-termination in PDC_mbstowcs() and PDC_wcstombs(). +- Ensure zero-termination in PDC_mbstowcs() and PDC_wcstombs(). -- Disable QuickEdit Mode when enabling mouse input for the Win32 +- Disable QuickEdit Mode when enabling mouse input for the Win32 console; reported by "Zalapkrakna". - Fix for building under Innotek C (I hope). Report by Elbert Pol, fix @@ -42,7 +42,7 @@ Bug fixes and such: - Export the terminfo stub functions from the DLLs, too. -- Added support for Apple's ".dylib" in configure. Suggested by Marc +- Added support for Apple's ".dylib" in configure. Suggested by Marc Vaillant (who says it's needed with OS 10.5.) - In sdl1/Makefile.mng, ensure that CC is set. @@ -53,9 +53,9 @@ Bug fixes and such: old version (?) of MinGW. So, revert to spelling out "tuidemo.o tui.o". Reported by "Howard L." -- Extensive documentation revision and reorganizing. More to do here. - For example, I moved the build instructions from INSTALL (which never - really described installation) to the platform-specific READMEs. +- Extensive documentation revision and reorganizing. More to do here. + For example, I moved the build instructions from INSTALL (which never + really described installation) to the platform-specific READMEs. - New indentation standard: four spaces, no tabs. @@ -64,7 +64,7 @@ Bug fixes and such: PDCurses 3.3 - 2007/07/11 ========================= -This release adds an SDL backend, refines the demos, and is faster in +This release adds an SDL backend, refines the demos, and is faster in some cases. New features: @@ -101,7 +101,7 @@ New features: Bug fixes and such: -- Implicit wrefresh() needs to be called from wgetch() when the window's +- Implicit wrefresh() needs to be called from wgetch() when the window's cursor position is changed, even if there are no other changes. - Set SP->audible on a per-platform basis, as was documented in @@ -126,7 +126,7 @@ Bug fixes and such: - Building the Win32 DLL with MinGW or Cygwin wouldn't work from outside the platform directory. -- Building the X11 port with Cygwin required manually editing the +- Building the X11 port with Cygwin required manually editing the Makefile after configuring; no longer. Reported by Warren W. Gay. - Minor tightening of configure and makefiles. @@ -150,7 +150,7 @@ Bug fixes and such: PDCurses 3.2 - 2007/06/06 ========================= -This release mainly covers changes to the build process, along with a +This release mainly covers changes to the build process, along with a few structural changes. New features: @@ -193,7 +193,7 @@ Bug fixes and such: curses.dll, builds either the static library or the DLL (not both at once), and links all the demos with the DLL when building it. -- In Win32, read the registry only when needed: when init_color() or +- In Win32, read the registry only when needed: when init_color() or color_content() is called, instead of at startup. - A few additional consts in declarations. @@ -206,7 +206,7 @@ Bug fixes and such: - Simplified Borland makefiles. - Makefile.aix.in depended on a file, xcurses.exp, that was never there. - This problem was fixed as part of the change to common .def files; + This problem was fixed as part of the change to common .def files; however, I still haven't been able to test building on AIX. ------------------------------------------------------------------------ @@ -241,9 +241,9 @@ Bug fixes and such: PDC_reset_shell_mode(), so it's properly turned off when returning from an endwin(). -- In 3.0, selection in X11 didn't work. (Well, the selecting worked, but - the pasting elsewhere didn't.) This was due to the attempted fix - "don't return selection start as a press event," so that's been +- In 3.0, selection in X11 didn't work. (Well, the selecting worked, but + the pasting elsewhere didn't.) This was due to the attempted fix + "don't return selection start as a press event," so that's been reverted for now. - PDC_setclipboard() was locking up in X11. Reported by Mark Hessling. @@ -265,7 +265,7 @@ Bug fixes and such: only shows up if the file is included multiple times, and then only in C++. Reported on the DOSBox forums. -- Use CF_OEMTEXT instead of CF_TEXT in the narrow versions of the +- Use CF_OEMTEXT instead of CF_TEXT in the narrow versions of the clipboard functions in Win32, to match the console. - Changed the format of the string returned from longname(). @@ -285,10 +285,10 @@ Bug fixes and such: PDCurses 3.0 - 2007/04/01 ========================= -The focuses for this release are X/Open conformance, i18n, better color +The focuses for this release are X/Open conformance, i18n, better color support, cleaner code, and more consistency across platforms. -This is only a brief summary of the changes. For more details, consult +This is only a brief summary of the changes. For more details, consult the CVS log. New features: @@ -305,15 +305,15 @@ New features: this way, the internal compose key support is disabled in favor of XIM's, which is a lot more complete, although you lose the box cursor. -- Multibyte character support in the non-wide string handling functions, - per X/Open. This only works when the library is built with wide- +- Multibyte character support in the non-wide string handling functions, + per X/Open. This only works when the library is built with wide- character support enabled. -- Mouse support for DOS and OS/2. The DOS version includes untested +- Mouse support for DOS and OS/2. The DOS version includes untested support for scroll wheels, via the "CuteMouse" driver. -- An ncurses-compatible mouse interface, which can work in parallel with - the traditional PDCurses mouse interface. See the man page (or +- An ncurses-compatible mouse interface, which can work in parallel with + the traditional PDCurses mouse interface. See the man page (or mouse.c) for details. - DOS and OS/2 can now return modifiers as keys, as in Win32 and X11. @@ -324,7 +324,7 @@ New features: background colors are used instead. On platforms where it can be changed, the mode is toggled by the new function PDC_set_blink(). PDCurses tries to set PDC_set_blink(FALSE) at startup. (In Win32, it's - always set to FALSE; in DOS, with other than an EGA or VGA card, it + always set to FALSE; in DOS, with other than an EGA or VGA card, it can't be.) Also, COLORS is now set to 0 until start_color() is called. - Corresponding to the change in COLORS, COLOR_PAIRS is now 256. @@ -342,7 +342,7 @@ New features: - Added global int TABSIZE, after ncurses and Solaris curses; removed window-specific _tabsize. -- Logical extension to the wide-character slk_ funcs: slk_wlabel(), for +- Logical extension to the wide-character slk_ funcs: slk_wlabel(), for retrieving the label as a wide-character string. - A non-macro implementation of ncurses' wresize(). @@ -370,13 +370,13 @@ New features: functions -- currently PDC_check_bios_key(), PDC_get_bios_key(), PDC_get_ctrl_break() and PDC_set_ctrl_break(). These shouldn't be used in applications, but currently are... in fact, all the "private" - functions (in curspriv.h) are subject to change and should be avoided. + functions (in curspriv.h) are subject to change and should be avoided. - A new document, IMPLEMNT, describing PDCurses' internal functions for those wishing to port it to new platforms. -- Mark Hessling has released the X11 port to the public domain. - (However, x11/ScrollBox* retain their separate copyright and MIT-like +- Mark Hessling has released the X11 port to the public domain. + (However, x11/ScrollBox* retain their separate copyright and MIT-like license.) Bug fixes and such: @@ -395,7 +395,7 @@ Bug fixes and such: - Documentation revisions. -- When expanding control characters in addch() or insch(), retain the +- When expanding control characters in addch() or insch(), retain the attributes from the chtype. - Preserve the A_ALTCHARSET attribute in addch() and insch(). @@ -409,12 +409,12 @@ Bug fixes and such: line 6/7.) The shape is taken from SP->orig_cursor (the meaning of which is platform-specific). -- Stop updating the cursor position when the cursor is invisible (this - gives a huge performance boost in Win 9x); update the cursor position +- Stop updating the cursor position when the cursor is invisible (this + gives a huge performance boost in Win 9x); update the cursor position from curs_set() if changing from invisible to visible. -- Some tweaking of the behavior of def_prog_mode(), def_shell_mode(), - savetty(), reset_prog_mode(), reset_shell_mode() and resetty()... +- Some tweaking of the behavior of def_prog_mode(), def_shell_mode(), + savetty(), reset_prog_mode(), reset_shell_mode() and resetty()... still not quite right. - flash() was not implemented for Win32 or X. A portable implementation @@ -422,21 +422,21 @@ Bug fixes and such: old (DOS and OS/2) version, but this is only apparent on an extremely slow machine, such as an XT. -- In getstr(), backspacing on high-bit characters caused a double +- In getstr(), backspacing on high-bit characters caused a double backspace. -- hline() and vline() used an incorrect (off by one) interpretation of - _maxx and _maxy. If values of n greater than the max were specified, +- hline() and vline() used an incorrect (off by one) interpretation of + _maxx and _maxy. If values of n greater than the max were specified, these functions could access unallocated memory. -- innstr() is supposed to return the number of characters read, not just +- innstr() is supposed to return the number of characters read, not just OK or ERR. Reported by Mike Aubury. -- A proper implementation of insch() -- the PDC_chadd()-based version +- A proper implementation of insch() -- the PDC_chadd()-based version wasn't handling the control characters correctly. - Return ASCII and control key names from keyname() (problem revealed by - ncurses' movewindow test); also, per X/Open, return "UNKNOWN KEY" when + ncurses' movewindow test); also, per X/Open, return "UNKNOWN KEY" when appropriate, rather than "NO KEY NAME". - Turn off the cursor from leaveok(TRUE), even in X11; leaveok(FALSE) @@ -456,25 +456,25 @@ Bug fixes and such: - pair_content(0, ...) is valid. -- There was no check to ensure that the pnoutrefresh() window fit within +- There was no check to ensure that the pnoutrefresh() window fit within the screen. It now returns an ERR if it doesn't. -- In X11, resize_term() must be called with parameters (0, 0), and only +- In X11, resize_term() must be called with parameters (0, 0), and only when SP->resized is set, else it returns ERR. -- Copy _bkgd in resize_window(). Patch found on Frederic L. W. Meunier's +- Copy _bkgd in resize_window(). Patch found on Frederic L. W. Meunier's web site. - slk_clear() now removes the buttons completely, as in ncurses. - Use the current foreground color for the line attributes (underline, - left, right), unless PDC_set_line_color() is explicitly called. After - setting the line color, you can reset it to this mode via + left, right), unless PDC_set_line_color() is explicitly called. After + setting the line color, you can reset it to this mode via "PDC_set_line_color(-1)". - Removed non-macro implementations of COLOR_PAIR() and PAIR_NUMBER(). -- Dispensed with PDC_chadd() and PDC_chins() -- waddch() and winsch() +- Dispensed with PDC_chadd() and PDC_chins() -- waddch() and winsch() are now (again) the core functions. - Dropped or made static many obsolete, unused, and/or broken functions, @@ -484,21 +484,21 @@ Bug fixes and such: PDC_wunderline(), PDC_wleftline(), PDC_wrightline(), XCursesModifierPress() and XCurses_refresh_scrollbar(). -- Obsolete/unused defines: _BCHAR, _GOCHAR, _STOPCHAR, _PRINTCHAR +- Obsolete/unused defines: _BCHAR, _GOCHAR, _STOPCHAR, _PRINTCHAR _ENDLINE, _FULLWIN and _SCROLLWIN. -- Obsolete/unused elements of the WINDOW struct: _pmax*, _lastp*, +- Obsolete/unused elements of the WINDOW struct: _pmax*, _lastp*, _lasts*. - Obsolete/unused elements of the SCREEN struct: orgcbr, visible_cursor, sizeable, shell, blank, cursor, orig_emulation, font, orig_font, tahead, adapter, scrnmode, kbdinfo, direct_video, video_page, video_seg, video_ofs, bogus_adapter. (Some of these persist outside - the SCREEN struct, in the platform directories.) Added mouse_wait and + the SCREEN struct, in the platform directories.) Added mouse_wait and key_code. -- Removed all the EMALLOC stuff. Straight malloc calls were used - elsewhere; it was undocumented outside of comments in curspriv.h; and +- Removed all the EMALLOC stuff. Straight malloc calls were used + elsewhere; it was undocumented outside of comments in curspriv.h; and there are better ways to use a substitute malloc(). - Single mouse clicks are now reportable on all platforms (not just @@ -510,8 +510,8 @@ Bug fixes and such: - ALT-keypad input now works in Win32. -- In Win32, SetConsoleMode(ENABLE_WINDOW_INPUT) is not useful, and - appears to be the source of a four-year-old bug report (hanging in +- In Win32, SetConsoleMode(ENABLE_WINDOW_INPUT) is not useful, and + appears to be the source of a four-year-old bug report (hanging in THE) by Phil Smith. - Removed the PDC_THREAD_BUILD stuff, which has never worked. For the @@ -554,7 +554,7 @@ Bug fixes and such: since the key press. - In BIOS mode (in DOS), count successive identical output bytes, and - make only one BIOS call for all of them. This dramatically improves + make only one BIOS call for all of them. This dramatically improves performance. - The cursor position was not always updated correctly in BIOS mode. @@ -565,7 +565,7 @@ Bug fixes and such: - Better reporting of mouse events in testcurs. -- Blank out buffer and num before the scanw() test in testcurs, in case +- Blank out buffer and num before the scanw() test in testcurs, in case the user just hits enter or etc.; clear the screen after resizing. - Allow tuidemo to use the last line. @@ -573,7 +573,7 @@ Bug fixes and such: - Separate left/right modifier keys are now reported properly in Win32. (Everything was being reported as _R.) -- Attempts to redirect input in Win32 now cause program exit and an +- Attempts to redirect input in Win32 now cause program exit and an error message, instead of hanging. - Dropped support for the Microway NDP compiler. @@ -586,25 +586,25 @@ Bug fixes and such: - Complete export lists for DLLs. -- Simplified makefiles; moved common elements to .mif files; better +- Simplified makefiles; moved common elements to .mif files; better optimization; strip demos when possible. -- Changed makefile targets of "pdcurses.a/lib" and "panel.a/lib" to +- Changed makefile targets of "pdcurses.a/lib" and "panel.a/lib" to $(LIBCURSES) and $(LIBPANEL). Suggestion of Doug Kaufman. -- Changed "install" target in the makefile to a double-colon rule, to - get around a conflict with INSTALL on non-case-sensitive filesystems, +- Changed "install" target in the makefile to a double-colon rule, to + get around a conflict with INSTALL on non-case-sensitive filesystems, such as Mac OS X's HFS+. Reported by Douglas Godfrey et al. - Make PDCurses.man dependent on manext. Suggestion of Tiziano Mueller. -- Set up configure.ac so autoheader works; removed some obsolescent +- Set up configure.ac so autoheader works; removed some obsolescent macros. Partly the suggestion of T.M. - The X11 port now builds in the x11 directory (including the demos), as with other ports. -- The X11 port should now build on more 64-bit systems. Partly due to +- The X11 port should now build on more 64-bit systems. Partly due to M.H. - The default window title and icons for the X11 port are now "PDCurses" @@ -627,8 +627,8 @@ Bug fixes and such: PDCurses 2.8 - 2006/04/01 ========================= -As with the previous version, you should assume that apps linked against -older dynamic versions of the library won't work with this one until +As with the previous version, you should assume that apps linked against +older dynamic versions of the library won't work with this one until recompiled. New features: @@ -641,25 +641,25 @@ New features: before including curses.h (see xmas.c for an example). NOMACROS yields smaller but theoretically slower executables. -- New functions: vwprintw(), vwscanw(), vw_printw() and vw_scanw(). This - completes the list of X/Open 4.2 functions, except for those concerned - with attr_t and wide characters. Some (especially the terminfo/termcap +- New functions: vwprintw(), vwscanw(), vw_printw() and vw_scanw(). This + completes the list of X/Open 4.2 functions, except for those concerned + with attr_t and wide characters. Some (especially the terminfo/termcap functions) aren't yet fully fleshed out, though. -- Non-macro implementations for COLOR_PAIR(), PAIR_NUMBER(), getbkgd(), - mvgetnstr(), mvwgetnstr(), mvhline(), mvvline(), mvwhline(), and +- Non-macro implementations for COLOR_PAIR(), PAIR_NUMBER(), getbkgd(), + mvgetnstr(), mvwgetnstr(), mvhline(), mvvline(), mvwhline(), and mvwvline(). (The macros are still available, too.) -- newterm() works now, in a limited way -- the parameters are ignored, - and only the first invocation will work (i.e., only one SCREEN can be +- newterm() works now, in a limited way -- the parameters are ignored, + and only the first invocation will work (i.e., only one SCREEN can be used). -- start_color() works now -- which is to say, if you _don't_ call it, - you'll only get monochrome output. Also, without calling it, the - terminal's default colors will be used, where supported (currently - only in Win32). This is equivalent to the PDC_ORIGINAL_COLORS behavior - introduced in 2.7, except that _only_ the default colors will be used. - (PDC_ORIGINAL_COLORS is still available, if you want to combine the +- start_color() works now -- which is to say, if you _don't_ call it, + you'll only get monochrome output. Also, without calling it, the + terminal's default colors will be used, where supported (currently + only in Win32). This is equivalent to the PDC_ORIGINAL_COLORS behavior + introduced in 2.7, except that _only_ the default colors will be used. + (PDC_ORIGINAL_COLORS is still available, if you want to combine the use of specific colors and the default colors.) - New logic for termname() and longname(): termname() always returns @@ -667,41 +667,41 @@ New features: [COLOR/MONO]-YxX" (adapter is only defined for DOS and OS/2). This is the first time these functions return _anything_ in Win32. -- New installation method for XCurses: the header files are placed in a - subdirectory "xcurses" within the include directory, rather than being - renamed. (But the renamed xcurses.h and xpanel.h are also installed, +- New installation method for XCurses: the header files are placed in a + subdirectory "xcurses" within the include directory, rather than being + renamed. (But the renamed xcurses.h and xpanel.h are also installed, for backwards compatibility.) curspriv.h and term.h are now available, - and existing curses-based code need no longer be edited to use - XCurses' curses.h. And with no more need for explicit XCursesExit() - calls (see below), your code need not be changed at all to move from - another curses implementation to XCurses. It can be as simple as "gcc + and existing curses-based code need no longer be edited to use + XCurses' curses.h. And with no more need for explicit XCursesExit() + calls (see below), your code need not be changed at all to move from + another curses implementation to XCurses. It can be as simple as "gcc -I/usr/local/include/xcurses -lXCurses -oprogname progname.c". - Combined readme.* into this HISTORY file, and incorporated the old 1.x (PCcurses) history. -- New functionality for the testcurs demo: ACS character display; menu - support for PgUp, PgDn, Home and End; centered menu; and it can now +- New functionality for the testcurs demo: ACS character display; menu + support for PgUp, PgDn, Home and End; centered menu; and it can now be resized in X. - Added modified versions of the rain and worm demos from ncurses. Bug fixes and such: -- Big cleanup of dead and redundant code, including unneeded defines, +- Big cleanup of dead and redundant code, including unneeded defines, ifdefs, and structure elements. - flushinp() was not implemented for Win32. - resetty() was not restoring LINES and COLS. -- nonl() made '\n' print a line feed without carriage return. This was +- nonl() made '\n' print a line feed without carriage return. This was incorrect. - Removed bogus implementation of intrflush(). - The line-breakout optimization system, disabled by default in 2.7, is - removed in 2.8. It simply didn't work, and never has. (The typeahead() + removed in 2.8. It simply didn't work, and never has. (The typeahead() function remains, for compatibility, but does nothing.) - The declarations for the printw() and scanw() function families were @@ -717,8 +717,8 @@ Bug fixes and such: - XCURSES is now defined automatically if not DOS, OS2 or WIN32. -- The default icon for XCurses wasn't working (had to remove the focus - hint code to fix this). Also, the default title is now "XCurses" +- The default icon for XCurses wasn't working (had to remove the focus + hint code to fix this). Also, the default title is now "XCurses" instead of "main". - Incorrect dimensions (undercounting by two in each direction) were @@ -726,8 +726,8 @@ Bug fixes and such: - Scroll wheel events were not always correctly reported in X. -- 32 bits are enough for the "long" chtype, but 64 bits were used on a - 64-bit system, wasting memory. Now conditioned on _LP64. This could be +- 32 bits are enough for the "long" chtype, but 64 bits were used on a + 64-bit system, wasting memory. Now conditioned on _LP64. This could be faster, too. - The short, 16-bit chtype now works with XCurses. @@ -739,8 +739,8 @@ Bug fixes and such: - pair_content() takes a short. -- Replaced incorrect usages of attr_t with chtype. attr_t is still - typedef'd, for backwards compatibility. (It's supposed to be used for +- Replaced incorrect usages of attr_t with chtype. attr_t is still + typedef'd, for backwards compatibility. (It's supposed to be used for the WA_*-style functions, which PDCurses doesn't yet support.) - Added const where required by the spec, and in other appropriate @@ -750,10 +750,10 @@ Bug fixes and such: - Fixed poll() support in napms(). -- Various changes to the internal PDC_* functions -- don't depend on +- Various changes to the internal PDC_* functions -- don't depend on these, and don't use them unless you absolutely have to. -- Some routines accessed window structures in their variable +- Some routines accessed window structures in their variable declarations, _before_ checking for a NULL window pointer. - Dropped support for the undocumented PDC_FULL_DISPLAY, wtitle(), and @@ -763,13 +763,13 @@ Bug fixes and such: - Reduced unnecessary #include directives -- speeds up compilation. -- Fix for demos build in Borland/DOS -- the makefile in 2.7 didn't +- Fix for demos build in Borland/DOS -- the makefile in 2.7 didn't specify the memory model. Reported by Erwin Waterlander. -- Simplified the makefiles; e.g., some now build each demo in a single - step, and Watcom no longer uses demos.lnk. Also, the demo exes are now - stripped when possible; maximum compression used for archives built - by the makefiles; xcurses-config removed as part of "make distclean"; +- Simplified the makefiles; e.g., some now build each demo in a single + step, and Watcom no longer uses demos.lnk. Also, the demo exes are now + stripped when possible; maximum compression used for archives built + by the makefiles; xcurses-config removed as part of "make distclean"; and I tweaked optimization for some platforms. - Reverted to /usr/local/ as default installation directory for XCurses. @@ -961,31 +961,31 @@ BUGS FIXED: - Right Alt modifier now works like left Alt modifier under Win32 -- Add support for all libXaw replacement libraries with Scrollbar bug. - Note that for this to work, you still have to change the libXaw +- Add support for all libXaw replacement libraries with Scrollbar bug. + Note that for this to work, you still have to change the libXaw replacement libraries to fix the bug :-( -- Don't trap signals in XCurses if calling application has ignored them. +- Don't trap signals in XCurses if calling application has ignored them. Change by Frank Heckenbach. - Bug reports from Warren W. Gay: - Fix termattrs() to return A_REVERSE and A_BLINK on all platforms. - - Fix definition of getsyx() and setsyx() to be consistent with + - Fix definition of getsyx() and setsyx() to be consistent with ncurses. Bug 624424. - Fix definition of echo() and noecho(). Bug 625001. - Fix definition of keypad() and leaveok(). Bug 632653. - Missing panel_hidden() prototype. Bug 649320. -- Fixed bug with calling def_prog_mode(), resize_term(), +- Fixed bug with calling def_prog_mode(), resize_term(), reset_prog_mode(); the resize details were being lost. NEW FEATURES: -- Clipboard support now available on DOS platform, but handled +- Clipboard support now available on DOS platform, but handled internally to the currently running process. -- New X11 resource: textCursor, allows the text cursor to be specified - as a vertical bar, or the standard horizontal bar. Thanks to Frank +- New X11 resource: textCursor, allows the text cursor to be specified + as a vertical bar, or the standard horizontal bar. Thanks to Frank Heckenbach for the suggestion. NEW COMPILER SUPPORT: @@ -1013,7 +1013,7 @@ INTRODUCTION: - Add getbkgd() macro -- Add new PDC functions for adding underline, overline, leftline and +- Add new PDC functions for adding underline, overline, leftline and rightline - Add support for shifted keypad keys. @@ -1044,12 +1044,12 @@ INTRODUCTION: BUGS FIXED: -- Fix bug with getting Win32 clipboard contents. Added new +- Fix bug with getting Win32 clipboard contents. Added new PDC_freeclipboard() function. - Fix bug with halfdelay() -- Fix bug with mouse interrupting programs that are not trapping mouse +- Fix bug with mouse interrupting programs that are not trapping mouse events under Win32. - Fix return value from curs_set() @@ -1105,15 +1105,15 @@ NEW FUNCTIONS: - PDC_getclipboard() and PDC_setclipboard() for accessing the native clipboard (X11, Win32 and OS/2) -- PDC_set_title() for setting the title of the window (X11 and Win32 +- PDC_set_title() for setting the title of the window (X11 and Win32 only) - PDC_get_input_fd() for getting the file handle of the PDCurses input -- PDC_get_key_modifiers() for getting the keyboard modifier settings at +- PDC_get_key_modifiers() for getting the keyboard modifier settings at the time of the last (w)getch() -- Xinitscr() (only for X11 port) which allows standard X11 switches to +- Xinitscr() (only for X11 port) which allows standard X11 switches to be passed to the application NEW COMPILER SUPPORT: @@ -1132,7 +1132,7 @@ ACKNOWLEDGEMENTS: (for this release) Juan David Palomar for pointing out getnstr() was not implemented. William McBrine for fix to allow black/black as valid color pair. Peter Preus for pointing out the missing bccos2.mak file. - Laura Michaels for a couple of bug fixes and changes required to + Laura Michaels for a couple of bug fixes and changes required to support Mingw32 compiler. Frank Heckenbach for PDC_get_input_fd() and some portability fixes and the fixes for panel library. @@ -1163,8 +1163,8 @@ INTRODUCTION: - long chtype extended to non-Unix ports - The name of the statically built library is pdcurses.lib (or - pdcurses.a). The name of the DLL import library (where applicable) is + The name of the statically built library is pdcurses.lib (or + pdcurses.a). The name of the DLL import library (where applicable) is curses.lib. BUGS FIXED: @@ -1209,7 +1209,7 @@ ACKNOWLEDGEMENTS: (for this release) Kim Huron for the slk..() functions. Florian Grosse Coosmann for some bug fixes. Esa Peuha for reducing compiler warnings. - Augustin Martin Domingo for patches to X11 port to enable accented + Augustin Martin Domingo for patches to X11 port to enable accented characters. ------------------------------------------------------------------------ @@ -1221,18 +1221,18 @@ INTRODUCTION: This release of PDCurses has includes a number of major changes: -- The portable library functions are now grouped together into single +- The portable library functions are now grouped together into single files with the same arrangement as System V R4 curses. -- A panels library has been included. This panels library was written by +- A panels library has been included. This panels library was written by Warren Tucker. -- Quite a few more functions have been supplied by Wade Schauer and - incorporated into release 2.2. Wade also supplied the support for the +- Quite a few more functions have been supplied by Wade Schauer and + incorporated into release 2.2. Wade also supplied the support for the Microway NDP C/C++ 32 bit DOS compiler. -- The curses datatype has been changed from an unsigned int to a long. - This allows more attributes to be stored as well as increasing the +- The curses datatype has been changed from an unsigned int to a long. + This allows more attributes to be stored as well as increasing the number of color-pairs from 32 to 64. - Xwindows port (experimental at the moment). @@ -1241,52 +1241,52 @@ BUGS FIXED: - mvwin() checked the wrong coordinates -- removed DESQview shadow memory buffer checking bug in curses.h in +- removed DESQview shadow memory buffer checking bug in curses.h in #define for wstandout() - lots of others I can't remember NEW FUNCTIONS: -- Too many to mention. See intro.man for a complete list of the +- Too many to mention. See intro.man for a complete list of the functions PDCurses now supports. COMPILER SUPPORT: -- DJGPP 1.12 is now supported. The run-time error that caused programs +- DJGPP 1.12 is now supported. The run-time error that caused programs to crash has been removed. -- emx 0.9a is supported. A program compiled for OS/2 should also work - under DOS if you use the VID=EMX switch when compiling. See the +- emx 0.9a is supported. A program compiled for OS/2 should also work + under DOS if you use the VID=EMX switch when compiling. See the makefile for details. -- The Microway NDP C/C++ DOS compiler is now supported. Thanks to Wade +- The Microway NDP C/C++ DOS compiler is now supported. Thanks to Wade Schauer for this port. -- The Watcom C++ 10.0 DOS compiler is now supported. Thanks to Pieter +- The Watcom C++ 10.0 DOS compiler is now supported. Thanks to Pieter Kunst for this port. -- The library now has many functions grouped together to reduce the size +- The library now has many functions grouped together to reduce the size of the library and to improve the speed of compilation. -- The "names" of a couple of the compilers in the makefile has changed; +- The "names" of a couple of the compilers in the makefile has changed; CSET2 is now ICC and GO32 is now GCC. EXTRA OPTIONS: - One difference between the behavior of PDCurses and Unix curses is the - attributes that are displayed when a character is cleared. Under Unix - curses, no attributes are displayed, so the result is always black. - Under PDCurses, these functions clear with the current attributes in - effect at the time. With the introduction of the bkgd functions, by - default, PDCurses clears using the value set by (w)bkgd(). To have - PDCurses behave the same way as it did before release 2.2, compile with + One difference between the behavior of PDCurses and Unix curses is the + attributes that are displayed when a character is cleared. Under Unix + curses, no attributes are displayed, so the result is always black. + Under PDCurses, these functions clear with the current attributes in + effect at the time. With the introduction of the bkgd functions, by + default, PDCurses clears using the value set by (w)bkgd(). To have + PDCurses behave the same way as it did before release 2.2, compile with -DPDCURSES_WCLR ACKNOWLEDGEMENTS: (for this release) - Pieter Kunst, David Nugent, Warren Tucker, Darin Haugen, Stefan Strack, - Wade Schauer and others who either alerted me to bugs or supplied + Pieter Kunst, David Nugent, Warren Tucker, Darin Haugen, Stefan Strack, + Wade Schauer and others who either alerted me to bugs or supplied fixes. ------------------------------------------------------------------------ @@ -1296,45 +1296,45 @@ PDCurses 2.1 - 1993/06/20 INTRODUCTION: - The current code contains bug fixes for the DOS and OS/2 releases and - also includes an alpha release for Unix. The Unix release uses another - public domain package (mytinfo) to handle the low-level screen writes. - mytinfo was posted to comp.sources.unix (or misc) in December 1992 or - January 1993. Unless you are a glutton for punishment I would recommend + The current code contains bug fixes for the DOS and OS/2 releases and + also includes an alpha release for Unix. The Unix release uses another + public domain package (mytinfo) to handle the low-level screen writes. + mytinfo was posted to comp.sources.unix (or misc) in December 1992 or + January 1993. Unless you are a glutton for punishment I would recommend you avoid the Unix port at this stage. - The other major addition to PDCurses is the support for DJGPP (the DOS + The other major addition to PDCurses is the support for DJGPP (the DOS port of GNU C++). Thanks to David Nugent . - Other additions are copywin() function, function debugging support and - getting the small and medium memory models to work. The testcurs.c demo - program has also been changed significantly and a new demo program, + Other additions are copywin() function, function debugging support and + getting the small and medium memory models to work. The testcurs.c demo + program has also been changed significantly and a new demo program, tuidemo, has been added. - Some people have suggested including information on where to get dmake + Some people have suggested including information on where to get dmake from. oak.oakland.edu in /pub/msdos/c OTHER NOTES: - - Under DOS, by default, screen writes to a CGA monitor are done via the - video BIOS rather than by direct video memory writes. This is due to - the CGA "snow" problem. If you have a CGA monitor and do not suffer - from snow, you can compile private\_queryad.c with CGA_DIRECT defined. - This will then use cause PDCurses to write directly to the CGA video + + Under DOS, by default, screen writes to a CGA monitor are done via the + video BIOS rather than by direct video memory writes. This is due to + the CGA "snow" problem. If you have a CGA monitor and do not suffer + from snow, you can compile private\_queryad.c with CGA_DIRECT defined. + This will then use cause PDCurses to write directly to the CGA video memory. - Function debugging: Firstly to get function debugging, you have to - compile the library with OPT=N in the makefile. This also turns on - compiler debugging. You can control when you want PDCurses to write to - the debug file (called trace in the current directory) by using the + Function debugging: Firstly to get function debugging, you have to + compile the library with OPT=N in the makefile. This also turns on + compiler debugging. You can control when you want PDCurses to write to + the debug file (called trace in the current directory) by using the functions traceon() and traceoff() in your program. Microsoft C 6.00 Users note: ---------------------------- - With the addition of several new functions, using dmake to compile - PDCurses now causes the compiler to run "out of heap space in pass 2". - Using the 6.00AX version (DOS-Extended) to compile PDCurses fixes this + With the addition of several new functions, using dmake to compile + PDCurses now causes the compiler to run "out of heap space in pass 2". + Using the 6.00AX version (DOS-Extended) to compile PDCurses fixes this problem; hence the -EM switch. Functional changes @@ -1342,29 +1342,29 @@ OTHER NOTES: Added OS/2 DLL support. - A few curses functions have been fixed to exhibit their correct - behavior and make them more functionally portable with System V - curses. The functions that have changed are overlay(), overwrite() and + A few curses functions have been fixed to exhibit their correct + behavior and make them more functionally portable with System V + curses. The functions that have changed are overlay(), overwrite() and typeahead. overlay() and overwrite() - Both of theses functions in PDCurses 2.0 allowed for one window to be - effectively placed on top of another, and the characters in the first - window were overlaid or overwritten starting at 0,0 in both windows. - This behavior of these functions was not correct. These functions only - operate on windows that physically overlap with respect to the - displayed screen. To achieve the same functionality as before, use the + Both of theses functions in PDCurses 2.0 allowed for one window to be + effectively placed on top of another, and the characters in the first + window were overlaid or overwritten starting at 0,0 in both windows. + This behavior of these functions was not correct. These functions only + operate on windows that physically overlap with respect to the + displayed screen. To achieve the same functionality as before, use the new function copywin(). See the manual page for further details. typeahead() - This function in PDCurses 2.0 effectively checked to see if there were - any characters remaining in the keyboard buffer. This is not the - behavior exhibited by System V curses. This function is intended - purely to set a flag so that curses can check while updating the - physical screen if any keyboard input is pending. To achieve the same - effect with typeahead() under PDCurses 2.1 the following code should be + This function in PDCurses 2.0 effectively checked to see if there were + any characters remaining in the keyboard buffer. This is not the + behavior exhibited by System V curses. This function is intended + purely to set a flag so that curses can check while updating the + physical screen if any keyboard input is pending. To achieve the same + effect with typeahead() under PDCurses 2.1 the following code should be used. In place of... @@ -1386,9 +1386,9 @@ OTHER NOTES: ACKNOWLEDGEMENTS: (in no particular order) - Jason Shumate, Pieter Kunst, David Nugent, Andreas Otte, Pasi + Jason Shumate, Pieter Kunst, David Nugent, Andreas Otte, Pasi Hamalainen, James McLennan, Duane Paulson, Ib Hojme - + Apologies to anyone I may have left out. ------------------------------------------------------------------------ @@ -1400,37 +1400,37 @@ INTRODUCTION: Well, here it finally is; PDCurses v2.0. - PDCurses v2.0 is an almost total rewrite of PCcurses 1.4 done by John - 'Frotz' Fa'atuai, the previous maintainer. It adds support for OS/2 as + PDCurses v2.0 is an almost total rewrite of PCcurses 1.4 done by John + 'Frotz' Fa'atuai, the previous maintainer. It adds support for OS/2 as well as DOS. - This version has been tested with Microsoft C v6.0, QuickC v2.0 and - Borland C++ 2.0 under DOS and Microsoft C v6.0 and TopSpeed c v3.02 - under OS/2 2.0. Also the library has been compiled successfully with - emx 0.8e, C Set/2 and Watcom 9. Most testing was done with the large - memory model, where applicable. The large memory model is probably the + This version has been tested with Microsoft C v6.0, QuickC v2.0 and + Borland C++ 2.0 under DOS and Microsoft C v6.0 and TopSpeed c v3.02 + under OS/2 2.0. Also the library has been compiled successfully with + emx 0.8e, C Set/2 and Watcom 9. Most testing was done with the large + memory model, where applicable. The large memory model is probably the best model to use. - The amount of testing has not been as extensive as I would have liked, - but demands on releasing a product have outweighed the product's - quality. Nothing new with that !! Hopefully with wider circulation, + The amount of testing has not been as extensive as I would have liked, + but demands on releasing a product have outweighed the product's + quality. Nothing new with that !! Hopefully with wider circulation, more bugs will be fixed more quickly. - I have included just 1 makefile which is suitable for dmake 3.8 for - both DOS and OS/2. The makefile does not rely on customization of the + I have included just 1 makefile which is suitable for dmake 3.8 for + both DOS and OS/2. The makefile does not rely on customization of the dmake.ini file. - If you discover bugs, and especially if you have fixes, please let me + If you discover bugs, and especially if you have fixes, please let me know ASAP. - The source to the library is distributed as a zip file made with zip - 1.9. You will need Info-ZIP unzip 5.0 to unzip. Follow the directions + The source to the library is distributed as a zip file made with zip + 1.9. You will need Info-ZIP unzip 5.0 to unzip. Follow the directions below to compile the library. DIRECTIONS: - 1. Create a new directory in which to unzip pdcurs20.zip. This will - create a curses directory and a number of subdirectories containing + 1. Create a new directory in which to unzip pdcurs20.zip. This will + create a curses directory and a number of subdirectories containing source code for the library and utilities and the documentation. 2. Make changes to the makefile where necessary: @@ -1452,41 +1452,41 @@ DIRECTIONS: see the makefile for valid combinations targets: all, demos, lcursesd.lib, manual... - - NB. dmake is case sensitive with targets, so those environments that - use an upper case model value (eg MSC) MUST specify the library + + NB. dmake is case sensitive with targets, so those environments that + use an upper case model value (eg MSC) MUST specify the library target as for eg. Lcursesd.lib - The makefile is by default set up for Borland C++. The use of -e - environment_options override these defaults. If you prefer, you can - just change the defaults in the makefile and invoke it without the + The makefile is by default set up for Borland C++. The use of -e + environment_options override these defaults. If you prefer, you can + just change the defaults in the makefile and invoke it without the -e switch. OTHER NOTES: - The documentation for the library is built into each source file, a - couple of specific doc files and the header files. A program is - supplied (manext) to build the manual. This program gets compiled when + The documentation for the library is built into each source file, a + couple of specific doc files and the header files. A program is + supplied (manext) to build the manual. This program gets compiled when you build the documentation. - - To generate the library response file correctly, I had to write a quick - and dirty program (buildlrf) to achieve this. Originally the makefiles - just had statements like: "echo -+$(OBJ)\$* & >> $(LRF)" which appended - a suitable line to the response file. Unfortunately under some - combinations of makefiles and command processors (eg. nmake and 4DOS) + + To generate the library response file correctly, I had to write a quick + and dirty program (buildlrf) to achieve this. Originally the makefiles + just had statements like: "echo -+$(OBJ)\$* & >> $(LRF)" which appended + a suitable line to the response file. Unfortunately under some + combinations of makefiles and command processors (eg. nmake and 4DOS) the & would get treated as stderr and the echo command would fail. - - The original source for PDCurses that I received from the previous - maintainer contained support for the FLEXOS operating system. Not - having access to it, I could not test the changes I made so its support - has fallen by the wayside. If you really need to have PDCurses running + + The original source for PDCurses that I received from the previous + maintainer contained support for the FLEXOS operating system. Not + having access to it, I could not test the changes I made so its support + has fallen by the wayside. If you really need to have PDCurses running under FLEXOS, contact me and I will see what can be arranged. - - Under DOS, by default, screen writes to a CGA monitor are done via the - video BIOS rather than by direct video memory writes. This is due to - the CGA "snow" problem. If you have a CGA monitor and do not suffer - from snow, you can compile private\_queryad.c with CGA_DIRECT defined. - This will then use cause PDCurses to write directly to the CGA video + + Under DOS, by default, screen writes to a CGA monitor are done via the + video BIOS rather than by direct video memory writes. This is due to + the CGA "snow" problem. If you have a CGA monitor and do not suffer + from snow, you can compile private\_queryad.c with CGA_DIRECT defined. + This will then use cause PDCurses to write directly to the CGA video memory. Added System V color support. @@ -1496,22 +1496,22 @@ COMPILER-SPECIFIC NOTES: Microsoft C ----------- - It is possible with MSC 6.0 to build the OS/2 libraries and demo - programs from within DOS. This is the only case where it is possible to - specify the value of TOS on the command line to be OS2 and the value of + It is possible with MSC 6.0 to build the OS/2 libraries and demo + programs from within DOS. This is the only case where it is possible to + specify the value of TOS on the command line to be OS2 and the value of OS be DOS. C Set/2 ------- - I have only tested the library using the migration libraries. I doubt + I have only tested the library using the migration libraries. I doubt that the demo programs will work without them. emx --- - Testing has been done with 0.8e of emx together with the 16_to_32 - libraries. The emx\lib directory should include the vio32.lib and + Testing has been done with 0.8e of emx together with the 16_to_32 + libraries. The emx\lib directory should include the vio32.lib and kbd32.lib libraries from the 16_to_32 package. BUGS and UNFINISHED BUSINESS: @@ -1520,7 +1520,7 @@ BUGS and UNFINISHED BUSINESS: - win_print() and PDC_print() do not work under OS/2. -- The file todo.man in the doc directory also lists those functions of +- The file todo.man in the doc directory also lists those functions of System V 3.2 curses not yet implemented. Any volunteers? ACKNOWLEDGEMENTS: @@ -1541,11 +1541,11 @@ ACKNOWLEDGEMENTS: PDCurses 2.0Beta - 1991/12/21 ============================= -Changed back from short to int. (int is the correct size for the default -platform. Short might be too short on some platforms. This is more +Changed back from short to int. (int is the correct size for the default +platform. Short might be too short on some platforms. This is more portable. I, also, made this mistake.) -Many functions are now macros. If you want the real thing, #undef the +Many functions are now macros. If you want the real thing, #undef the macro. (X/Open requirement.) Merged many sources into current release. @@ -1563,13 +1563,13 @@ Added a CONTRIB file to the environment. PDCurses 1.5Beta - 1990/07/14 ============================= -Added many levels of compiler support. Added mixed prototypes for all -"internal" routines. Removed all assembly language. Added EGA/VGA -support. Converted all #ifdef to #if in all modules except CURSES.H and -CURSPRIV.H. Always include ASSERT.H. Added support for an external -malloc(), calloc() and free(). Added support for FAST_VIDEO -(direct-memory writes). Added various memory model support (for -FAST_VIDEO). Added much of the December 1988 X/Open Curses +Added many levels of compiler support. Added mixed prototypes for all +"internal" routines. Removed all assembly language. Added EGA/VGA +support. Converted all #ifdef to #if in all modules except CURSES.H and +CURSPRIV.H. Always include ASSERT.H. Added support for an external +malloc(), calloc() and free(). Added support for FAST_VIDEO +(direct-memory writes). Added various memory model support (for +FAST_VIDEO). Added much of the December 1988 X/Open Curses specification. -- John 'Frotz' Fa'atuai @@ -1579,98 +1579,98 @@ specification. PCcurses 1.4 - 1990/01/14 ========================= - In PCcurses v.1.4, both portability improvements and bugfixes have -been made. The files have been changed to allow lint-free compilation -with Microsoft C v.5.1, and with Turbo C v.2.0. The source should still -compile without problems on older compilers, although this has not been + In PCcurses v.1.4, both portability improvements and bugfixes have +been made. The files have been changed to allow lint-free compilation +with Microsoft C v.5.1, and with Turbo C v.2.0. The source should still +compile without problems on older compilers, although this has not been verified. - The makefiles have been changed to suit both the public release and -the author, who maintains a special kind of libraries for himself. In -the case of Microsoft C, changes were done in the makefile to lower the -warning level to 2 (was 3). This was to avoid ANSI warnings which are -abundant because PCcurses does not attempt to follow strict ANSI C + The makefiles have been changed to suit both the public release and +the author, who maintains a special kind of libraries for himself. In +the case of Microsoft C, changes were done in the makefile to lower the +warning level to 2 (was 3). This was to avoid ANSI warnings which are +abundant because PCcurses does not attempt to follow strict ANSI C standard. BUG FIXES FROM V.1.3 TO V.1.4: !!!IMPORTANT CHANGE!!! - The definitions for OK and ERR in curses.h were exchanged. This was -done to be more consistent with UNIX versions. Also, it permits -functions like newwin() and subwin() to return 0 (=NULL) when they fail -due to memory shortage. This incompatibility with UNIX curses was -pointed out by Fred C. Smith. If you have tested success/failure by -comparisons to anything other than ERR and OK, your applications will -need to be be changed on that point. Sorry... but presumably most of you + The definitions for OK and ERR in curses.h were exchanged. This was +done to be more consistent with UNIX versions. Also, it permits +functions like newwin() and subwin() to return 0 (=NULL) when they fail +due to memory shortage. This incompatibility with UNIX curses was +pointed out by Fred C. Smith. If you have tested success/failure by +comparisons to anything other than ERR and OK, your applications will +need to be be changed on that point. Sorry... but presumably most of you used the symbolic constants? (END OF IMPORTANT CHANGE) - Fred also pointed out a bug in the file update.c. The bug caused the -first character printed after 'unauthorized' screen changes (like during -a shell escape, for example) to be placed at the wrong screen position. -This happened even if the normal precautions (clear / touch / refresh) + Fred also pointed out a bug in the file update.c. The bug caused the +first character printed after 'unauthorized' screen changes (like during +a shell escape, for example) to be placed at the wrong screen position. +This happened even if the normal precautions (clear / touch / refresh) were taken. The problem has now been fixed. - PCcurses is currently also being used on a 68000 system with -hard-coded ESCape sequences for ANSI terminals. However, ints used by -the 68000 C compiler are 32 bits. Therefore ints have been turned into -shorts wherever possible in the code (otherwise all window structures -occupy twice as much space as required on the 68000). This does not -affect PC versions since normally both ints and shorts are 16 bits for + PCcurses is currently also being used on a 68000 system with +hard-coded ESCape sequences for ANSI terminals. However, ints used by +the 68000 C compiler are 32 bits. Therefore ints have been turned into +shorts wherever possible in the code (otherwise all window structures +occupy twice as much space as required on the 68000). This does not +affect PC versions since normally both ints and shorts are 16 bits for PC C compilers. - At some places in the source code there are references made to the -68000 version. There are also a makefile, a curses68.c file, and a -curses68.cmd file. These are for making, low-level I/O, and linking -commands when building the 68000 version. These files are probably -useful to no-one but the author, since it is very specific for its -special hardware environment. Still in an effort to keep all -curses-related sources in one place they are included. Note however that + At some places in the source code there are references made to the +68000 version. There are also a makefile, a curses68.c file, and a +curses68.cmd file. These are for making, low-level I/O, and linking +commands when building the 68000 version. These files are probably +useful to no-one but the author, since it is very specific for its +special hardware environment. Still in an effort to keep all +curses-related sources in one place they are included. Note however that PCcurses will not officially support a non-PC environment. - The file cursesio.c, which was included in the package at revision -level 1.2, and which was to be an alternative to the cursesio.asm file, -has been verified to behave incorrectly in the function _curseskeytst(). -The problem was that the value of 'cflag' does not contain the proper -data for the test that is attempted. Furthermore, neither Turbo C or -Microsoft C allows any way to return the data that is needed, and -consequently you should not use cursesio.c. The best solution is to -simply use the ASM version. In v.1.2 and v.1.3, the user could edit the -makefile to select which version he wanted to use. The makefiles in -v.1.4 have removed this possibility forcing the use of the ASM file, and + The file cursesio.c, which was included in the package at revision +level 1.2, and which was to be an alternative to the cursesio.asm file, +has been verified to behave incorrectly in the function _curseskeytst(). +The problem was that the value of 'cflag' does not contain the proper +data for the test that is attempted. Furthermore, neither Turbo C or +Microsoft C allows any way to return the data that is needed, and +consequently you should not use cursesio.c. The best solution is to +simply use the ASM version. In v.1.2 and v.1.3, the user could edit the +makefile to select which version he wanted to use. The makefiles in +v.1.4 have removed this possibility forcing the use of the ASM file, and cursesio.c has been dropped from the distribution. - A bug in the wgetstr() function caused PCcurses to echo characters -when reading a keyboard string, even if the echo had been turned off. -Thanks to Per Foreby at Lund University, Sweden, for this. Per also -reported bugs concerning the handling of characters with bit 8 set. -Their ASCII code were considered as lower than 32, so they were erased -etc. like control characters, i.e. erasing two character positions. The + A bug in the wgetstr() function caused PCcurses to echo characters +when reading a keyboard string, even if the echo had been turned off. +Thanks to Per Foreby at Lund University, Sweden, for this. Per also +reported bugs concerning the handling of characters with bit 8 set. +Their ASCII code were considered as lower than 32, so they were erased +etc. like control characters, i.e. erasing two character positions. The control character test was changed to cope with this. - The overlay() and overwrite() functions were changed so that the -overlaying window is positioned at its 'own' coordinates inside the -underlying window (it used to be at the underlying window's [0,0] -position). There is some controversy about this - the documentation for -different curses versions say different things. I think the choice made + The overlay() and overwrite() functions were changed so that the +overlaying window is positioned at its 'own' coordinates inside the +underlying window (it used to be at the underlying window's [0,0] +position). There is some controversy about this - the documentation for +different curses versions say different things. I think the choice made is the most reasonable. - The border() and wborder() functions were changed to actually draw a -border, since this seems to be the correct behavior of these functions. -They used to just set the border characters to be used by box(). These + The border() and wborder() functions were changed to actually draw a +border, since this seems to be the correct behavior of these functions. +They used to just set the border characters to be used by box(). These functions are not present in standard BSD UNIX curses. - The subwin() function previously did not allow the subwindow to be as -big as the original window in which it was created. This has now been -fixed. There was also the problem that the default size (set by -specifying numlines or numcols (or both) as 0 made the resulting actual + The subwin() function previously did not allow the subwindow to be as +big as the original window in which it was created. This has now been +fixed. There was also the problem that the default size (set by +specifying numlines or numcols (or both) as 0 made the resulting actual size 1 line/column too small. - There were a few spelling errors in function names, both in the -function declarations and in curses.h. This was reported by Carlos -Amaral at INESC in Portugal. Thanks! There was also an unnecessary (but + There were a few spelling errors in function names, both in the +function declarations and in curses.h. This was reported by Carlos +Amaral at INESC in Portugal. Thanks! There was also an unnecessary (but harmless) parameter in a function call at one place. ------------------------------------------------------------------------ @@ -1678,26 +1678,26 @@ harmless) parameter in a function call at one place. PCcurses 1.3 - 1988/10/05 ========================= - The file 'border.c' is now included. It allows you to explicitly -specify what characters should be used as box borders when the box() -functions are called. If the new border characters are non-0, they -override the border characters specified in the box() call. In my -understanding, this functionality is required for AT&T UNIX sV.3 + The file 'border.c' is now included. It allows you to explicitly +specify what characters should be used as box borders when the box() +functions are called. If the new border characters are non-0, they +override the border characters specified in the box() call. In my +understanding, this functionality is required for AT&T UNIX sV.3 compatibility. Thanks for this goes to Tony L. Hansen -(hansen@pegasus.UUCP) for posting an article about it on Usenet -(newsgroup comp.unix.questions; his posting was not related at all to +(hansen@pegasus.UUCP) for posting an article about it on Usenet +(newsgroup comp.unix.questions; his posting was not related at all to PCcurses). - The only other difference between v.1.2 and v.1.3 is that the latter -has been changed to avoid warning diagnostics if the source files are -compiled with warning switches on (for Microsoft this means '-W3', for -Turbo C it means '-w -w-pro'). Of these, the Turbo C warning check is -clearly to be used rather than Microsoft, even if neither of them comes -even close to a real UNIX 'lint'. Some of the warnings in fact indicated -real bugs, mostly functions that did not return correct return values or + The only other difference between v.1.2 and v.1.3 is that the latter +has been changed to avoid warning diagnostics if the source files are +compiled with warning switches on (for Microsoft this means '-W3', for +Turbo C it means '-w -w-pro'). Of these, the Turbo C warning check is +clearly to be used rather than Microsoft, even if neither of them comes +even close to a real UNIX 'lint'. Some of the warnings in fact indicated +real bugs, mostly functions that did not return correct return values or types. - The makefiles for both MSC and TRC have been modified to produce + The makefiles for both MSC and TRC have been modified to produce warning messages as part of normal compilation. ------------------------------------------------------------------------ @@ -1705,43 +1705,43 @@ warning messages as part of normal compilation. PCcurses 1.2 - 1988/10/02 ========================= - The changes from v.1.1 to v.1.2 are minor. The biggest change is that -there was a bug related to limiting the cursor movement if the -application tried to move it outside the screen (something that should -not be done anyway). Such erroneous application behavior is now handled + The changes from v.1.1 to v.1.2 are minor. The biggest change is that +there was a bug related to limiting the cursor movement if the +application tried to move it outside the screen (something that should +not be done anyway). Such erroneous application behavior is now handled appropriately. - All modules have been changed to have a revision string in them, which -makes it easier to determine what version is linked into a program (or + All modules have been changed to have a revision string in them, which +makes it easier to determine what version is linked into a program (or what library version you have). - There is now a 'cursesio.c' file. That file does the same as -'cursesio.asm' (i.e. it provides the interface to the lower-level system -I/O routines). It is written in C and thus it is (possibly) more -portable than the assembler version (but still not so portable since it -uses 8086 INT XX calls directly). When one creates new curses libraries, -one chooses whether to use the assembler or the C version of cursesio. -The choice is made by commenting out the appropriate dependencies for + There is now a 'cursesio.c' file. That file does the same as +'cursesio.asm' (i.e. it provides the interface to the lower-level system +I/O routines). It is written in C and thus it is (possibly) more +portable than the assembler version (but still not so portable since it +uses 8086 INT XX calls directly). When one creates new curses libraries, +one chooses whether to use the assembler or the C version of cursesio. +The choice is made by commenting out the appropriate dependencies for cursesio.obj, near the end of the makefiles. - There is now a 'setmode.c' file. That file contains functions that -save and restore terminal modes. They do it into other variables than do -savetty() and resetty(), so one should probably use either -savetty()/resetty() or the new functions only - and not mix the both + There is now a 'setmode.c' file. That file contains functions that +save and restore terminal modes. They do it into other variables than do +savetty() and resetty(), so one should probably use either +savetty()/resetty() or the new functions only - and not mix the both ways unless one really knows what one does. - Diff lists vs v.1.0 are no longer included in the distribution. The -make utility still is. PCcurses v.1.2 still compiles with Microsoft C -v.4.0, and with Borland Turbo C v.1.0. There is as far as I know no -reason to believe that it does not compile under Microsoft C v.3.0 and + Diff lists vs v.1.0 are no longer included in the distribution. The +make utility still is. PCcurses v.1.2 still compiles with Microsoft C +v.4.0, and with Borland Turbo C v.1.0. There is as far as I know no +reason to believe that it does not compile under Microsoft C v.3.0 and 5.x, or Turbo C v.1.5, but this has not been tested. - There are two makefiles included, one for Microsoft C, one for Turbo -C. They are both copies of my personal makefiles, and as such they -reflect the directory structure on my own computer. This will have to be -changed before you run make. Check $(INCDIR) and $(LIBDIR) in -particular, and make the choice of ASM or C cursesio version as -mentioned above (the distribution version uses the C version of + There are two makefiles included, one for Microsoft C, one for Turbo +C. They are both copies of my personal makefiles, and as such they +reflect the directory structure on my own computer. This will have to be +changed before you run make. Check $(INCDIR) and $(LIBDIR) in +particular, and make the choice of ASM or C cursesio version as +mentioned above (the distribution version uses the C version of cursesio). The manual file (curses.man) has been changed at appropriate places. @@ -1792,20 +1792,20 @@ cursesio). PCcurses 1.1 - 1988/03/06 ========================= - The changes from v.1.0 to v.1.1 are minor. There are a few bug fixes, -and new (non-portable) functions for verbatim IBM character font display -have been added (in charadd.c and charins.c). The manual file + The changes from v.1.0 to v.1.1 are minor. There are a few bug fixes, +and new (non-portable) functions for verbatim IBM character font display +have been added (in charadd.c and charins.c). The manual file (curses.man) has been changed at appropriate places. In the file v10tov11.dif there are listings of the differences between version 1.0 and 1.1. The diff listings are in UNIX diff(1) format. - Version 1.1 compiles with Turbo C v.1.0, as well as Microsoft C v.3.0 -and v.4.0. On the release disk there is a make.exe utility which is very -similar to UNIX make (If the package was mailed to you, the make utility -will be in uuencoded format - in make.uu - and must be uudecoded first). -It is much more powerful than Microsoft's different MAKEs; the latter -ones will NOT generate libraries properly if used with the PCcurses + Version 1.1 compiles with Turbo C v.1.0, as well as Microsoft C v.3.0 +and v.4.0. On the release disk there is a make.exe utility which is very +similar to UNIX make (If the package was mailed to you, the make utility +will be in uuencoded format - in make.uu - and must be uudecoded first). +It is much more powerful than Microsoft's different MAKEs; the latter +ones will NOT generate libraries properly if used with the PCcurses makefiles. There are three makefiles: @@ -1814,14 +1814,14 @@ makefiles. makefile.ms MSC 4.0 makefile makefile.tc Turbo C 1.0 makefile - To make a library with for example Turbo C, make directories to hold -.H and .LIB files (these directories are the 'standard places'), edit + To make a library with for example Turbo C, make directories to hold +.H and .LIB files (these directories are the 'standard places'), edit makefile.tc for this, and type make -f makefile.tc all -and libraries for all memory models will be created in the .LIB -directory, while the include files will end up in the .H directory. Also +and libraries for all memory models will be created in the .LIB +directory, while the include files will end up in the .H directory. Also read what is said about installation below! ------------------------------------------------------------------------ @@ -1829,59 +1829,59 @@ read what is said about installation below! PCcurses 1.0 - 1987/08/24 ========================= - This is the release notes for the PCcurses v.1.0 cursor/window control -package. PCcurses offers the functionality of UNIX curses, plus some -extras. Normally it should be possible to port curses-based programs -from UNIX curses to PCcurses on the IBM PC without changes. PCcurses is -a port/ rewrite of Pavel Curtis' public domain 'ncurses' package. All -the code has been re-written - it is not just an edit of ncurses (or -UNIX curses). I mention this to clarify any copyright violation claims. -The data structures and ideas are very similar to ncurses. As for UNIX + This is the release notes for the PCcurses v.1.0 cursor/window control +package. PCcurses offers the functionality of UNIX curses, plus some +extras. Normally it should be possible to port curses-based programs +from UNIX curses to PCcurses on the IBM PC without changes. PCcurses is +a port/ rewrite of Pavel Curtis' public domain 'ncurses' package. All +the code has been re-written - it is not just an edit of ncurses (or +UNIX curses). I mention this to clarify any copyright violation claims. +The data structures and ideas are very similar to ncurses. As for UNIX curses, I have not even seen any sources for it. - For an introduction to the use of 'curses' and its derivatives, you -should read 'Screen Updating and Cursor Movement Optimization: A Library -Package' by Kenneth C. R. C. Arnold, which describes the original -Berkeley UNIX version of curses. It is available as part of the UNIX -manuals. The other source of information is 'The Ncurses Reference + For an introduction to the use of 'curses' and its derivatives, you +should read 'Screen Updating and Cursor Movement Optimization: A Library +Package' by Kenneth C. R. C. Arnold, which describes the original +Berkeley UNIX version of curses. It is available as part of the UNIX +manuals. The other source of information is 'The Ncurses Reference Manual' by Pavel Curtis. The latter is part of Curtis' ncurses package. - The only other documentation provided is a 'man' page which describes -all the included functions in a very terse way. In the sources, each -function is preceded by a rather thorough description of what the -function does. I didn't have time to write a nice manual/tutorial - + The only other documentation provided is a 'man' page which describes +all the included functions in a very terse way. In the sources, each +function is preceded by a rather thorough description of what the +function does. I didn't have time to write a nice manual/tutorial - sorry. - PCcurses is released as a number of source files, a man page, and a -make file. A uuencoded copy of a 'make' utility, and a manpage for the -'make' is also provided to make it easier to put together PCcurses -libraries. Even if you are not interested in PCcurses, it may be + PCcurses is released as a number of source files, a man page, and a +make file. A uuencoded copy of a 'make' utility, and a manpage for the +'make' is also provided to make it easier to put together PCcurses +libraries. Even if you are not interested in PCcurses, it may be worthwhile to grab the make. - The makefile assumes the presence of the Microsoft C compiler (3.0 or -4.0), Microsoft MASM and LIB, plus some MS-DOS utilities. The reason for -supplying MAKE.EXE is that the Microsoft 'MAKE:s' are much inferior to a -real UNIX make. The supplied make is a port of a public domain make, -published on Usenet. It is almost completely compatible with UNIX make. -When generating the curses libraries, the makefile will direct make to -do some directory creating and file copying, and then re-invoke itself -with new targets. The workings of the makefile are not absolutely + The makefile assumes the presence of the Microsoft C compiler (3.0 or +4.0), Microsoft MASM and LIB, plus some MS-DOS utilities. The reason for +supplying MAKE.EXE is that the Microsoft 'MAKE:s' are much inferior to a +real UNIX make. The supplied make is a port of a public domain make, +published on Usenet. It is almost completely compatible with UNIX make. +When generating the curses libraries, the makefile will direct make to +do some directory creating and file copying, and then re-invoke itself +with new targets. The workings of the makefile are not absolutely crystal clear at first sight... just start it and see what it does. - For portability, the curses libraries depend on one assembler file for -access to the BIOS routines. There is no support for the EGA, but both -CGA, MGA, and the HGA can be used. The libraries are originally for -Microsoft C, but all C modules should be portable right away. In the -assembler file, segment names probably need to be changed, and possibly -the parameter passing scheme. I think Turbo C will work right away - as -far as I understand, all its conventions are compatible with Microsoft + For portability, the curses libraries depend on one assembler file for +access to the BIOS routines. There is no support for the EGA, but both +CGA, MGA, and the HGA can be used. The libraries are originally for +Microsoft C, but all C modules should be portable right away. In the +assembler file, segment names probably need to be changed, and possibly +the parameter passing scheme. I think Turbo C will work right away - as +far as I understand, all its conventions are compatible with Microsoft C. - There are some parts left out between ncurses and PCcurses. One is the -support for multiple terminals - not very interesting on a PC anyway. -Because we KNOW what terminal we have, there is no need for a termcap or -terminfo library. PCcurses also has some things that neither curses nor -ncurses have. Compared to the original UNIX curses, PCcurses has lots of + There are some parts left out between ncurses and PCcurses. One is the +support for multiple terminals - not very interesting on a PC anyway. +Because we KNOW what terminal we have, there is no need for a termcap or +terminfo library. PCcurses also has some things that neither curses nor +ncurses have. Compared to the original UNIX curses, PCcurses has lots of extras. The BIOS routines are used directly, which gives fast screen updates. @@ -1889,37 +1889,37 @@ PCcurses does not do direct writes to screen RAM - in my opinion it is a bit ugly to rely that much on hardware compatibility. Anyone could fix that, of course... - One of the more serious problems with PCcurses is the way in which -normal, cbreak, and raw input modes are done. All those details are in -the 'charget' module - I do raw I/O via the BIOS, and perform any -buffering myself. If an application program uses PCcurses, it should do -ALL its I/O via PCcurses calls, otherwise the mix of normal and -PCcurses I/O may mess up the display. I think my code is reasonable... + One of the more serious problems with PCcurses is the way in which +normal, cbreak, and raw input modes are done. All those details are in +the 'charget' module - I do raw I/O via the BIOS, and perform any +buffering myself. If an application program uses PCcurses, it should do +ALL its I/O via PCcurses calls, otherwise the mix of normal and +PCcurses I/O may mess up the display. I think my code is reasonable... comments are welcome, provided you express them nicely... - To install, copy all files to a work directory, edit 'makefile' to -define the standard include and library file directory names of your -choice (these directories must exist already, and their path names must -be relative to the root directory, not to the current one). You must -also run uudecode on make.uu, to generate MAKE.EXE. You can do that on -your PC, if you have uudecode there, otherwise you can do it under UNIX -and do a binary transfer to the PC. When you have MAKE.EXE in your work + To install, copy all files to a work directory, edit 'makefile' to +define the standard include and library file directory names of your +choice (these directories must exist already, and their path names must +be relative to the root directory, not to the current one). You must +also run uudecode on make.uu, to generate MAKE.EXE. You can do that on +your PC, if you have uudecode there, otherwise you can do it under UNIX +and do a binary transfer to the PC. When you have MAKE.EXE in your work directory (or in your /bin directory), type make. - Make will now create 4 sub-directories (one for each memory model), -copy some assembler include files into them, copy two include files to -your include directory, CHDIR to each sub-directory and re-invoke itself -with other make targets to compile and assemble all the source files -into the appropriate directories. Then the library manager is run to + Make will now create 4 sub-directories (one for each memory model), +copy some assembler include files into them, copy two include files to +your include directory, CHDIR to each sub-directory and re-invoke itself +with other make targets to compile and assemble all the source files +into the appropriate directories. Then the library manager is run to create the library files in your desired library directory. Presto! - If you only want to generate a library for one memory model, type -'make small', 'make large', etc. The name of the memory model must be in + If you only want to generate a library for one memory model, type +'make small', 'make large', etc. The name of the memory model must be in lower case, like in the makefile. - I think the package is fairly well debugged - but then again, that's -what I always think. It was completed in May-87, and no problems found -yet. Now it's your turn... Comments, suggestions and bug reports and + I think the package is fairly well debugged - but then again, that's +what I always think. It was completed in May-87, and no problems found +yet. Now it's your turn... Comments, suggestions and bug reports and fixes (no flames please) to -- Bjorn Larsson diff --git a/payloads/libpayload/curses/PDCurses/IMPLEMNT b/payloads/libpayload/curses/PDCurses/IMPLEMNT index 0445f8bbe1..fa25e68d3b 100644 --- a/payloads/libpayload/curses/PDCurses/IMPLEMNT +++ b/payloads/libpayload/curses/PDCurses/IMPLEMNT @@ -2,71 +2,71 @@ PDCurses Implementor's Guide ============================ Version 1.3 - 200?/??/?? - notes about official ports -Version 1.2 - 2007/07/11 - added PDC_init_pair(), PDC_pair_content(), +Version 1.2 - 2007/07/11 - added PDC_init_pair(), PDC_pair_content(), version history; removed pdc_atrtab Version 1.1 - 2007/06/06 - minor cosmetic change Version 1.0 - 2007/04/01 - initial revision -This document is for those wishing to port PDCurses to a new platform, -or just wanting to better understand how it works. Nothing here should -be needed for application programming; for that, refer to PDCurses.txt, -as built in doc/, or distributed as a file separate from this source -package. This document assumes that you've read the user-level -documentation and are very familiar with application-level curses +This document is for those wishing to port PDCurses to a new platform, +or just wanting to better understand how it works. Nothing here should +be needed for application programming; for that, refer to PDCurses.txt, +as built in doc/, or distributed as a file separate from this source +package. This document assumes that you've read the user-level +documentation and are very familiar with application-level curses programming. -If you want to submit your port for possible inclusion into the main +If you want to submit your port for possible inclusion into the main PDCurses distribution, please follow these guidelines: - - Don't modify anything in the pdcurses directory or in other port - directories. Don't modify curses.h or curspriv.h unless absolutely + - Don't modify anything in the pdcurses directory or in other port + directories. Don't modify curses.h or curspriv.h unless absolutely necessary. (And prefer modifying curspriv.h over curses.h.) - - Use the same indentation style, naming and scope conventions as the + - Use the same indentation style, naming and scope conventions as the existing code. - - Release all your code to the public domain -- no copyright. Code + - Release all your code to the public domain -- no copyright. Code under GPL, BSD, etc. will not be accepted. DATA STRUCTURES --------------- -A port of PDCurses must provide acs_map[], a 128-element array of -chtypes, with values laid out based on the Alternate Character Set of -the VT100 (see curses.h). PDC_transform_line() must use this table; when -it encounters a chtype with the A_ALTCHARSET flag set, and an A_CHARTEXT -value in the range 0-127, it must render it using the A_CHARTEXT portion -of the corresponding value from this table, instead of the original -value. Also, values may be read from this table by apps, and passed -through functions such as waddch(), which does no special processing on -control characters (0-31 and 127) when the A_ALTCHARSET flag is set. -Thus, any control characters used in acs_map[] should also have the -A_ALTCHARSET flag set. Implementations should provide suitable values -for all the ACS_ macros defined in curses.h; other values in the table -should be filled with their own indices (e.g., acs_map['E'] == 'E'). The -table can be either hardwired, or filled by PDC_scr_open(). Existing +A port of PDCurses must provide acs_map[], a 128-element array of +chtypes, with values laid out based on the Alternate Character Set of +the VT100 (see curses.h). PDC_transform_line() must use this table; when +it encounters a chtype with the A_ALTCHARSET flag set, and an A_CHARTEXT +value in the range 0-127, it must render it using the A_CHARTEXT portion +of the corresponding value from this table, instead of the original +value. Also, values may be read from this table by apps, and passed +through functions such as waddch(), which does no special processing on +control characters (0-31 and 127) when the A_ALTCHARSET flag is set. +Thus, any control characters used in acs_map[] should also have the +A_ALTCHARSET flag set. Implementations should provide suitable values +for all the ACS_ macros defined in curses.h; other values in the table +should be filled with their own indices (e.g., acs_map['E'] == 'E'). The +table can be either hardwired, or filled by PDC_scr_open(). Existing ports define it in pdcdisp.c, but this is not required. FUNCTIONS --------- -A port of PDCurses must implement the following functions, with extern -scope. These functions are traditionally divided into several modules, -as indicated below; this division is not required (only the functions -are), but may make it easier to follow for someone familiar with the +A port of PDCurses must implement the following functions, with extern +scope. These functions are traditionally divided into several modules, +as indicated below; this division is not required (only the functions +are), but may make it easier to follow for someone familiar with the existing ports. -Any other functions you create as part of your implementation should -have static scope, if possible. If they can't be static, they should be -named with the "PDC_" prefix. This minimizes the risk of collision with +Any other functions you create as part of your implementation should +have static scope, if possible. If they can't be static, they should be +named with the "PDC_" prefix. This minimizes the risk of collision with an application's choices. -Current PDCurses style also uses a single leading underscore with the -name of any static function; and modified BSD/Allman-style indentation, -approximately equivalent to "indent -kr -i8 -bl -bli0", with adjustments -to keep every line under 80 columns. This isn't essential, but a +Current PDCurses style also uses a single leading underscore with the +name of any static function; and modified BSD/Allman-style indentation, +approximately equivalent to "indent -kr -i8 -bl -bli0", with adjustments +to keep every line under 80 columns. This isn't essential, but a consistent style helps readability. @@ -75,17 +75,17 @@ pdcdisp.c: void PDC_gotoyx(int y, int x); -Move the physical cursor (as opposed to the logical cursor affected by -wmove()) to the given location. This is called mainly from doupdate(). -In general, this function need not compare the old location with the new +Move the physical cursor (as opposed to the logical cursor affected by +wmove()) to the given location. This is called mainly from doupdate(). +In general, this function need not compare the old location with the new one, and should just move the cursor unconditionally. void PDC_transform_line(int lineno, int x, int len, const chtype *srcp); -The core output routine. It takes len chtype entities from srcp (a -pointer into curscr) and renders them to the physical screen at line -lineno, column x. It must also translate characters 0-127 via acs_map[], -if they're flagged with A_ALTCHARSET in the attribute portion of the +The core output routine. It takes len chtype entities from srcp (a +pointer into curscr) and renders them to the physical screen at line +lineno, column x. It must also translate characters 0-127 via acs_map[], +if they're flagged with A_ALTCHARSET in the attribute portion of the chtype. @@ -94,22 +94,22 @@ pdcgetsc.c: int PDC_get_columns(void); -Returns the size of the screen in columns. It's used in resize_term() to -set the new value of COLS. (Some existing implementations also call it +Returns the size of the screen in columns. It's used in resize_term() to +set the new value of COLS. (Some existing implementations also call it internally from PDC_scr_open(), but this is not required.) int PDC_get_cursor_mode(void); -Returns the size/shape of the cursor. The format of the result is -unspecified, except that it must be returned as an int. This function is -called from initscr(), and the result is stored in SP->orig_cursor, -which is used by PDC_curs_set() to determine the size/shape of the +Returns the size/shape of the cursor. The format of the result is +unspecified, except that it must be returned as an int. This function is +called from initscr(), and the result is stored in SP->orig_cursor, +which is used by PDC_curs_set() to determine the size/shape of the cursor in normal visibility mode (curs_set(1)). int PDC_get_rows(void); -Returns the size of the screen in rows. It's used in resize_term() to -set the new value of LINES. (Some existing implementations also call it +Returns the size of the screen in rows. It's used in resize_term() to +set the new value of LINES. (Some existing implementations also call it internally from PDC_scr_open(), but this is not required.) @@ -148,23 +148,23 @@ TRUE). int PDC_modifiers_set(void); -Called from PDC_return_key_modifiers(). If your platform needs to do -anything in response to a change in SP->return_key_modifiers, do it +Called from PDC_return_key_modifiers(). If your platform needs to do +anything in response to a change in SP->return_key_modifiers, do it here. Returns OK or ERR, which is passed on by the caller. int PDC_mouse_set(void); -Called by mouse_set(), mouse_on(), and mouse_off() -- all the functions -that modify SP->_trap_mbe. If your platform needs to do anything in -response to a change in SP->_trap_mbe (for example, turning the mouse -cursor on or off), do it here. Returns OK or ERR, which is passed on by +Called by mouse_set(), mouse_on(), and mouse_off() -- all the functions +that modify SP->_trap_mbe. If your platform needs to do anything in +response to a change in SP->_trap_mbe (for example, turning the mouse +cursor on or off), do it here. Returns OK or ERR, which is passed on by the caller. void PDC_set_keyboard_binary(bool on); -Set keyboard input to "binary" mode. If you need to do something to keep -the OS from processing ^C, etc. on your platform, do it here. TRUE turns -the mode on; FALSE reverts it. This function is called from raw() and +Set keyboard input to "binary" mode. If you need to do something to keep +the OS from processing ^C, etc. on your platform, do it here. TRUE turns +the mode on; FALSE reverts it. This function is called from raw() and noraw(). @@ -173,90 +173,90 @@ pdcscrn.c: bool PDC_can_change_color(void); -Returns TRUE if init_color() and color_content() give meaningful +Returns TRUE if init_color() and color_content() give meaningful results, FALSE otherwise. Called from can_change_color(). int PDC_color_content(short color, short *red, short *green, short *blue); -The core of color_content(). This does all the work of that function, +The core of color_content(). This does all the work of that function, except checking for values out of range and null pointers. int PDC_init_color(short color, short red, short green, short blue); -The core of init_color(). This does all the work of that function, +The core of init_color(). This does all the work of that function, except checking for values out of range. void PDC_init_pair(short pair, short fg, short bg); -The core of init_pair(). This does all the work of that function, except -checking for values out of range. The values passed to this function -should be returned by a call to PDC_pair_content() with the same pair -number. PDC_transform_line() should use the specified colors when +The core of init_pair(). This does all the work of that function, except +checking for values out of range. The values passed to this function +should be returned by a call to PDC_pair_content() with the same pair +number. PDC_transform_line() should use the specified colors when rendering a chtype with the given pair number. int PDC_pair_content(short pair, short *fg, short *bg); -The core of pair_content(). This does all the work of that function, +The core of pair_content(). This does all the work of that function, except checking for values out of range and null pointers. void PDC_reset_prog_mode(void); -The non-portable functionality of reset_prog_mode() is handled here -- -whatever's not done in _restore_mode(). In current ports: In OS/2, this -sets the keyboard to binary mode; in Win32, it enables or disables the +The non-portable functionality of reset_prog_mode() is handled here -- +whatever's not done in _restore_mode(). In current ports: In OS/2, this +sets the keyboard to binary mode; in Win32, it enables or disables the mouse pointer to match the saved mode; in others it does nothing. void PDC_reset_shell_mode(void); -The same thing, for reset_shell_mode(). In OS/2 and Win32, it restores +The same thing, for reset_shell_mode(). In OS/2 and Win32, it restores the default console mode; in others it does nothing. int PDC_resize_screen(int nlines, int ncols); -This does the main work of resize_term(). It may respond to non-zero -parameters, by setting the screen to the specified size; to zero -parameters, by setting the screen to a size chosen by the user at -runtime, in an unspecified way (e.g., by dragging the edges of the -window); or both. It may also do nothing, if there's no appropriate +This does the main work of resize_term(). It may respond to non-zero +parameters, by setting the screen to the specified size; to zero +parameters, by setting the screen to a size chosen by the user at +runtime, in an unspecified way (e.g., by dragging the edges of the +window); or both. It may also do nothing, if there's no appropriate action for the platform. void PDC_restore_screen_mode(int i); -Called from _restore_mode() in kernel.c, this function does the actual +Called from _restore_mode() in kernel.c, this function does the actual mode changing, if applicable. Currently used only in DOS and OS/2. void PDC_save_screen_mode(int i); -Called from _save_mode() in kernel.c, this function saves the actual +Called from _save_mode() in kernel.c, this function saves the actual screen mode, if applicable. Currently used only in DOS and OS/2. void PDC_scr_close(void); -The platform-specific part of endwin(). It may restore the image of the -original screen saved by PDC_scr_open(), if the PDC_RESTORE_SCREEN -environment variable is set; either way, if using an existing terminal, -this function should restore it to the mode it had at startup, and move +The platform-specific part of endwin(). It may restore the image of the +original screen saved by PDC_scr_open(), if the PDC_RESTORE_SCREEN +environment variable is set; either way, if using an existing terminal, +this function should restore it to the mode it had at startup, and move the cursor to the lower left corner. (The X11 port does nothing.) void PDC_scr_free(void); -Frees the memory for SP allocated by PDC_scr_open(). Called by +Frees the memory for SP allocated by PDC_scr_open(). Called by delscreen(). int PDC_scr_open(int argc, char **argv); -The platform-specific part of initscr(). It's actually called from -Xinitscr(); the arguments, if present, correspond to those used with -main(), and may be used to set the title of the terminal window, or for -other, platform-specific purposes. (The arguments are currently used -only in X11.) PDC_scr_open() must allocate memory for SP, and must -initialize acs_map[] (unless it's preset) and several members of SP, -including lines, cols, mouse_wait, orig_attr (and if orig_attr is TRUE, -orig_fore and orig_back), mono, _restore and _preserve. (Although SP is -used the same way in all ports, it's allocated here in order to allow -the X11 port to map it to a block of shared memory.) If using an -existing terminal, and the environment variable PDC_RESTORE_SCREEN is -set, this function may also store the existing screen image for later +The platform-specific part of initscr(). It's actually called from +Xinitscr(); the arguments, if present, correspond to those used with +main(), and may be used to set the title of the terminal window, or for +other, platform-specific purposes. (The arguments are currently used +only in X11.) PDC_scr_open() must allocate memory for SP, and must +initialize acs_map[] (unless it's preset) and several members of SP, +including lines, cols, mouse_wait, orig_attr (and if orig_attr is TRUE, +orig_fore and orig_back), mono, _restore and _preserve. (Although SP is +used the same way in all ports, it's allocated here in order to allow +the X11 port to map it to a block of shared memory.) If using an +existing terminal, and the environment variable PDC_RESTORE_SCREEN is +set, this function may also store the existing screen image for later restoration by PDC_scr_close(). @@ -265,9 +265,9 @@ pdcsetsc.c: int PDC_curs_set(int visibility); -Called from curs_set(). Changes the appearance of the cursor -- 0 turns -it off, 1 is normal (the terminal's default, if applicable, as -determined by SP->orig_cursor), and 2 is high visibility. The exact +Called from curs_set(). Changes the appearance of the cursor -- 0 turns +it off, 1 is normal (the terminal's default, if applicable, as +determined by SP->orig_cursor), and 2 is high visibility. The exact appearance of these modes is not specified. @@ -276,30 +276,30 @@ pdcutil.c: void PDC_beep(void); -Emits a short audible beep. If this is not possible on your platform, -you must set SP->audible to FALSE during initialization (i.e., from -PDC_scr_open() -- not here); otherwise, set it to TRUE. This function is +Emits a short audible beep. If this is not possible on your platform, +you must set SP->audible to FALSE during initialization (i.e., from +PDC_scr_open() -- not here); otherwise, set it to TRUE. This function is called from beep(). void PDC_napms(int ms); -This is the core delay routine, called by napms(). It pauses for about -(the X/Open spec says "at least") ms milliseconds, then returns. High -degrees of accuracy and precision are not expected (though desirable, if -you can achieve them). More important is that this function gives back -the process' time slice to the OS, so that PDCurses idles at low CPU +This is the core delay routine, called by napms(). It pauses for about +(the X/Open spec says "at least") ms milliseconds, then returns. High +degrees of accuracy and precision are not expected (though desirable, if +you can achieve them). More important is that this function gives back +the process' time slice to the OS, so that PDCurses idles at low CPU usage. const char *PDC_sysname(void); -Returns a short string describing the platform, such as "DOS" or "X11". -This is used by longname(). It must be no more than 100 characters; it +Returns a short string describing the platform, such as "DOS" or "X11". +This is used by longname(). It must be no more than 100 characters; it should be much, much shorter (existing platforms use no more than 5). -------------------------------------------------------------------------- -The following functions are implemented in the platform directories, but -are accessed directly by apps. Refer to the user documentation for their +The following functions are implemented in the platform directories, but +are accessed directly by apps. Refer to the user documentation for their descriptions: diff --git a/payloads/libpayload/curses/PDCurses/PDCurses.spec b/payloads/libpayload/curses/PDCurses/PDCurses.spec index 814e313fab..f340d79ea2 100644 --- a/payloads/libpayload/curses/PDCurses/PDCurses.spec +++ b/payloads/libpayload/curses/PDCurses/PDCurses.spec @@ -16,8 +16,8 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-root Prefix: %base %description -PDCurses for X11 is an implementation of the curses library that lets -you build text-mode curses programs as native X11 applications. For more +PDCurses for X11 is an implementation of the curses library that lets +you build text-mode curses programs as native X11 applications. For more information, visit http://pdcurses.sourceforge.net/ %prep @@ -25,7 +25,7 @@ information, visit http://pdcurses.sourceforge.net/ %build ./configure --prefix=%{base} -make +make %install make DESTDIR=$RPM_BUILD_ROOT install diff --git a/payloads/libpayload/curses/PDCurses/README b/payloads/libpayload/curses/PDCurses/README index dc476a9f1a..ae03c09cbb 100644 --- a/payloads/libpayload/curses/PDCurses/README +++ b/payloads/libpayload/curses/PDCurses/README @@ -1,7 +1,7 @@ Welcome to PDCurses! ==================== -Public Domain Curses, aka PDCurses, is an implementation of X/Open +Public Domain Curses, aka PDCurses, is an implementation of X/Open curses for multiple platforms. The latest version can be found at: http://pdcurses.sourceforge.net/ @@ -12,14 +12,14 @@ For changes, see the HISTORY file. Legal Stuff ----------- -The core package is in the public domain, but small portions of PDCurses -are subject to copyright under various licenses. Each directory -contains a README file, with a section titled "Distribution Status" +The core package is in the public domain, but small portions of PDCurses +are subject to copyright under various licenses. Each directory +contains a README file, with a section titled "Distribution Status" which describes the status of the files in that directory. -If you use PDCurses in an application, an acknowledgement would be -appreciated, but is not mandatory. If you make corrections or -enhancements to PDCurses, please forward them to the current maintainer +If you use PDCurses in an application, an acknowledgement would be +appreciated, but is not mandatory. If you make corrections or +enhancements to PDCurses, please forward them to the current maintainer for the benefit of other users. This software is provided AS IS with NO WARRANTY whatsoever. @@ -28,17 +28,17 @@ This software is provided AS IS with NO WARRANTY whatsoever. Ports ----- -PDCurses has been ported to DOS, OS/2, Win32, X11 and SDL. A directory -containing the port-specific source files exists for each of these +PDCurses has been ported to DOS, OS/2, Win32, X11 and SDL. A directory +containing the port-specific source files exists for each of these platforms. Build instructions are in the README file for each platform. Distribution Status ------------------- -All files in this directory except configure, config.guess and -config.sub are released to the Public Domain. config.guess and -config.sub are under the GPL; configure is under a free license +All files in this directory except configure, config.guess and +config.sub are released to the Public Domain. config.guess and +config.sub are under the GPL; configure is under a free license described within it. diff --git a/payloads/libpayload/curses/PDCurses/configure.ac b/payloads/libpayload/curses/PDCurses/configure.ac index cf87496d2c..96308836b7 100644 --- a/payloads/libpayload/curses/PDCurses/configure.ac +++ b/payloads/libpayload/curses/PDCurses/configure.ac @@ -15,7 +15,7 @@ AC_CANONICAL_SYSTEM([]) mymakefile="Makefile" on_qnx=no case "$target" in - *hp-hpux*) + *hp-hpux*) SYS_DEFS="-D_HPUX_SOURCE" ;; *ibm-aix*) diff --git a/payloads/libpayload/curses/PDCurses/demos/README b/payloads/libpayload/curses/PDCurses/demos/README index 8f4b5c6c23..4df6584098 100644 --- a/payloads/libpayload/curses/PDCurses/demos/README +++ b/payloads/libpayload/curses/PDCurses/demos/README @@ -1,25 +1,25 @@ PDCurses Demos ============== -This directory contains demonstration programs to show and test the -capabilities of curses libraries. Some of them predate PDCurses, -PCcurses or even pcurses/ncurses. Although some PDCurses-specific code -has been added, all programs remain portable to other implementations +This directory contains demonstration programs to show and test the +capabilities of curses libraries. Some of them predate PDCurses, +PCcurses or even pcurses/ncurses. Although some PDCurses-specific code +has been added, all programs remain portable to other implementations (at a minimum, to ncurses). Building -------- -The demos are built by the platform-specific makefiles, in the platform -directories. Alternatively, you can build them manually, individually, -and link with any curses library; e.g., "cc -lcurses -orain rain.c". -There are no dependencies besides curses and the standard C library, and +The demos are built by the platform-specific makefiles, in the platform +directories. Alternatively, you can build them manually, individually, +and link with any curses library; e.g., "cc -lcurses -orain rain.c". +There are no dependencies besides curses and the standard C library, and no configuration is needed. Distribution Status ------------------- -Public Domain, except for rain.c and worm.c, which are under the ncurses +Public Domain, except for rain.c and worm.c, which are under the ncurses license (MIT-like). diff --git a/payloads/libpayload/curses/PDCurses/doc/intro.txt b/payloads/libpayload/curses/PDCurses/doc/intro.txt index b54dcf015f..c0f80fe0cc 100644 --- a/payloads/libpayload/curses/PDCurses/doc/intro.txt +++ b/payloads/libpayload/curses/PDCurses/doc/intro.txt @@ -23,16 +23,16 @@ convenient order. Once all data have been added, the routine refresh() is called. The package then determines what changes have been made which affect the screen. The screen contents are then changed to reflect those characters now in the window, using a -sequence of operations optimized for the type of terminal in use. +sequence of operations optimized for the type of terminal in use. At a higher level routines combining the actions of move() and addch() are defined, as are routines to add whole strings and to perform -format conversions in the manner of printf(). +format conversions in the manner of printf(). Interfaces are also defined to erase the entire window and to specify the attributes of individual characters in the window. Attributes such as inverse video, underline and blink can be used on a -per-character basis. +per-character basis. New windows can be created by allowing the application to build several images of the screen and display the appropriate one very @@ -41,18 +41,18 @@ each routine that manipulates the default window, stdscr, there is a corresponding routine prefixed with w to manipulate the contents of a specified window; for example, move() and wmove(). In fact, move(...) is functionally equivalent to wmove( stdscr, ...). This is similar to -the interface offered by printf(...) and fprintf(stdout, ...). +the interface offered by printf(...) and fprintf(stdout, ...). Windows do not have to correspond to the entire screen. It is possible to create smaller windows, and also to indicate that the window is only partially visible on the screen. Furthermore, large windows or pads, which are bigger than the actual screen size, may be -created. +created. Interfaces are also defined to allow input character manipulation and to disable and enable many input attributes: character echo, single character input with or without signal processing (cbreak or raw -modes), carriage returns mapping to newlines, screen scrolling, etc. +modes), carriage returns mapping to newlines, screen scrolling, etc. Data Types and the Header @@ -60,14 +60,14 @@ Data Types and the Header The data types supported by curses are described in this section. -As the library supports a procedural interface to the data types, actual -structure contents are not described. All curses data are manipulated +As the library supports a procedural interface to the data types, actual +structure contents are not described. All curses data are manipulated using the routines provided. THE HEADER -The header defines various constants and declares the data +The header defines various constants and declares the data types that are available to the application. @@ -82,8 +82,8 @@ The following data types are declared: cchar_t the wide-character equivalent of chtype attr_t for WA_-style attributes -The actual WINDOW and SCREEN objects used to store information are -created by the corresponding routines and a pointer to them is provided. +The actual WINDOW and SCREEN objects used to store information are +created by the corresponding routines and a pointer to them is provided. All manipulation is through that pointer. @@ -93,15 +93,15 @@ The following variables are defined: LINES number of lines on terminal screen COLS number of columns on terminal screen - stdscr pointer to the default screen window + stdscr pointer to the default screen window curscr pointer to the current screen image SP pointer to the current SCREEN struct Mouse_status status of the mouse COLORS number of colors available COLOR_PAIRS number of color pairs available TABSIZE size of one TAB block - acs_map[] alternate character set map - ttytype[] terminal name/description + acs_map[] alternate character set map + ttytype[] terminal name/description CONSTANTS @@ -118,7 +118,7 @@ GENERAL VIDEO ATTRIBUTES -Normally, attributes are a property of the character. +Normally, attributes are a property of the character. For chtype: @@ -129,7 +129,7 @@ For chtype: A_INVIS invisible A_ITALIC italic A_LEFTLINE line along the left edge - A_PROTECT protected (?) -- PDCurses renders this as a + A_PROTECT protected (?) -- PDCurses renders this as a combination of the *LINE attributes A_REVERSE reverse video A_RIGHTLINE line along the right edge @@ -140,8 +140,8 @@ For chtype: A_CHARTEXT bit-mask to extract a character A_COLOR bit-mask to extract a color-pair -Not all attributes will work on all terminals. A_RIGHTLINE, A_LEFTLINE -and A_ITALIC are specific to PDCurses. A_INVIS and A_ITALIC are given +Not all attributes will work on all terminals. A_RIGHTLINE, A_LEFTLINE +and A_ITALIC are specific to PDCurses. A_INVIS and A_ITALIC are given the same value in PDCurses. For attr_t: @@ -158,14 +158,14 @@ For attr_t: WA_STANDOUT same as A_STANDOUT WA_UNDERLINE same as A_UNDERLINE -Note that while A_LEFTLINE and A_RIGHTLINE are PDCurses-specific, -WA_LEFT and WA_RIGHT are standard. The following are also defined, for -compatibility, but currently have no effect in PDCurses: WA_HORIZONTAL, +Note that while A_LEFTLINE and A_RIGHTLINE are PDCurses-specific, +WA_LEFT and WA_RIGHT are standard. The following are also defined, for +compatibility, but currently have no effect in PDCurses: WA_HORIZONTAL, WA_LOW, WA_TOP, WA_VERTICAL. THE ALTERNATE CHARACTER SET -For use in chtypes and with related functions. These are a portable way +For use in chtypes and with related functions. These are a portable way to represent graphics characters on different terminals. VT100-compatible symbols -- box characters: @@ -200,7 +200,7 @@ for optimum portability: ACS_RARROW right arrow ACS_DARROW down arrow ACS_UARROW up arrow - ACS_BOARD checkerboard -- lighter (less dense) than + ACS_BOARD checkerboard -- lighter (less dense) than ACS_CKBOARD ACS_LANTERN lantern symbol ACS_BLOCK solid block @@ -230,7 +230,7 @@ Box character aliases: ACS_SBSB same as ACS_VLINE ACS_SSSS same as ACS_PLUS -For cchar_t and wide-character functions, WACS_ equivalents are also +For cchar_t and wide-character functions, WACS_ equivalents are also defined. COLORS @@ -246,7 +246,7 @@ For use with init_pair(), color_set(), etc.: COLOR_YELLOW COLOR_WHITE -Use these instead of numeric values. The definition of the colors +Use these instead of numeric values. The definition of the colors depends on the implementation of curses. @@ -354,19 +354,19 @@ The virtual keypad is arranged like this: left B2 right C1 down C3 -This list is incomplete -- see curses.h for the full list, and use the -testcurs demo to see what values are actually returned. The above are -just the keys required by X/Open. In particular, PDCurses defines many +This list is incomplete -- see curses.h for the full list, and use the +testcurs demo to see what values are actually returned. The above are +just the keys required by X/Open. In particular, PDCurses defines many CTL_ and ALT_ combinations; these are not portable. FUNCTIONS -The following table lists each curses routine and the name of the manual +The following table lists each curses routine and the name of the manual page on which it is described. -Functions from the X/Open curses standard -- complete, except for -getch() and ungetch(), which are implemented as macros for DOS +Functions from the X/Open curses standard -- complete, except for +getch() and ungetch(), which are implemented as macros for DOS compatibility: Curses Function Manual Page Name @@ -649,9 +649,9 @@ compatibility: wtouchln touch wvline border -Wide-character functions from the X/Open standard -- these are only -available when PDCurses is built with PDC_WIDE defined, and the -prototypes are only available from curses.h when PDC_WIDE is defined +Wide-character functions from the X/Open standard -- these are only +available when PDCurses is built with PDC_WIDE defined, and the +prototypes are only available from curses.h when PDC_WIDE is defined before its inclusion in your app: addnwstr addstr @@ -781,7 +781,7 @@ Functions from ncurses: wenclose mouse wmouse_trafo mouse -PDCurses-specific functions -- avoid these in code that's intended to be +PDCurses-specific functions -- avoid these in code that's intended to be portable: addrawch addch diff --git a/payloads/libpayload/curses/PDCurses/doc/sdl.txt b/payloads/libpayload/curses/PDCurses/doc/sdl.txt index 6a54b9b426..10710ce9a3 100644 --- a/payloads/libpayload/curses/PDCurses/doc/sdl.txt +++ b/payloads/libpayload/curses/PDCurses/doc/sdl.txt @@ -1,93 +1,93 @@ SDL Considerations ================== -There are no special requirements to use PDCurses for SDL -- all -PDCurses-compatible code should work fine. (In fact, you can even build -against the Win32 console pdcurses.dll, and then swap in the SDL -pdcurses.dll.) Nothing extra is needed beyond the base SDL library. +There are no special requirements to use PDCurses for SDL -- all +PDCurses-compatible code should work fine. (In fact, you can even build +against the Win32 console pdcurses.dll, and then swap in the SDL +pdcurses.dll.) Nothing extra is needed beyond the base SDL library. However, there are some optional special features, described here. -The principal limitation of this port is that input is currently -restricted to ASCII (i.e., 0-127), plus the special keys like KEY_LEFT. -(You could have Unicode input, but then the input wouldn't match the -output, which is in Code Page 437.) Also, see the note about the +The principal limitation of this port is that input is currently +restricted to ASCII (i.e., 0-127), plus the special keys like KEY_LEFT. +(You could have Unicode input, but then the input wouldn't match the +output, which is in Code Page 437.) Also, see the note about the potential for incomplete output under "PDC_update_rects()", below. Fonts ----- -The font is a simple BMP, 32 characters wide by 8 characters tall, -preferably with a palette. (BMPs without palettes still work, but in -that case, no attributes will be available, nor will the cursor work.) -The first entry in the palette (usually black) is treated as the -background color; the last entry (usually white) is treated as the -foreground. These are changed or made transparent as appropriate; any -other colors in the palette are passed through unchanged. So -- although -a one-bit depth is sufficient for a normal font -- you could redraw some +The font is a simple BMP, 32 characters wide by 8 characters tall, +preferably with a palette. (BMPs without palettes still work, but in +that case, no attributes will be available, nor will the cursor work.) +The first entry in the palette (usually black) is treated as the +background color; the last entry (usually white) is treated as the +foreground. These are changed or made transparent as appropriate; any +other colors in the palette are passed through unchanged. So -- although +a one-bit depth is sufficient for a normal font -- you could redraw some characters as multi-colored tiles. -The font must be monospaced. The size of each character is derived by -dividing the width of the BMP by 32 and the height by 8. There is no +The font must be monospaced. The size of each character is derived by +dividing the width of the BMP by 32 and the height by 8. There is no constraint on the dimensions. -As provided in the default font and expected by acs_map[], the font is -in Code Page 437 form. But you can of course use any layout if you're +As provided in the default font and expected by acs_map[], the font is +in Code Page 437 form. But you can of course use any layout if you're not relying on correct values for the ACS_* macros. -The font can be set via the environment variable PDC_FONT. If it's not -set, PDCurses looks for a file named "pdcfont.bmp" in the current -directory at the time of initscr(). If neither is found, it uses the +The font can be set via the environment variable PDC_FONT. If it's not +set, PDCurses looks for a file named "pdcfont.bmp" in the current +directory at the time of initscr(). If neither is found, it uses the built-in default font encoded in deffont.h. Backgrounds ----------- -PDCurses for SDL supports an optional background image BMP. This is used -whenever start_color() has not been called (see the ptest demo for an -example), or when use_default_colors() has been called after -start_color(), and the background color of a pair has been set to -1 -(see newdemo, worm, and rain for examples). The usage parallels that of -ncurses in an appropriate terminal (e.g., Gnome Terminal). The image is +PDCurses for SDL supports an optional background image BMP. This is used +whenever start_color() has not been called (see the ptest demo for an +example), or when use_default_colors() has been called after +start_color(), and the background color of a pair has been set to -1 +(see newdemo, worm, and rain for examples). The usage parallels that of +ncurses in an appropriate terminal (e.g., Gnome Terminal). The image is tiled to cover the PDCurses window, and can be any size or depth. -As with the font, you can point to a location for the background via the -environment variable PDC_BACKGROUND; "pdcback.bmp" is the fallback. +As with the font, you can point to a location for the background via the +environment variable PDC_BACKGROUND; "pdcback.bmp" is the fallback. (There is no default background.) Icons ----- -The icon (used with SDL_WM_SetIcon() -- not used for the executable -file) can be set via the environment variable PDC_ICON, and falls back -to "pdcicon.bmp", and then to the built-in icon from deficon.h. The -built-in icon is the PDCurses logo, as seen in ../x11/little_icon.xbm. -The SDL docs say that the icon must be 32x32, at least for use with MS +The icon (used with SDL_WM_SetIcon() -- not used for the executable +file) can be set via the environment variable PDC_ICON, and falls back +to "pdcicon.bmp", and then to the built-in icon from deficon.h. The +built-in icon is the PDCurses logo, as seen in ../x11/little_icon.xbm. +The SDL docs say that the icon must be 32x32, at least for use with MS Windows. -If pdc_screen is preinitialized (see below), PDCurses does not attempt +If pdc_screen is preinitialized (see below), PDCurses does not attempt to set the icon. Screen size ----------- -The default screen size is 80x25 characters (whatever size they may be), -but you can override this via the environment variables PDC_COLS and/or -PDC_LINES. (Some other ports use COLS and LINES; this is not done here -because those values are, or should be, those of the controlling -terminal, and PDCurses for SDL is independent of the terminal.) If +The default screen size is 80x25 characters (whatever size they may be), +but you can override this via the environment variables PDC_COLS and/or +PDC_LINES. (Some other ports use COLS and LINES; this is not done here +because those values are, or should be, those of the controlling +terminal, and PDCurses for SDL is independent of the terminal.) If pdc_screen is preinitialized (see below), these are ignored. Integration with SDL -------------------- -If you want to go further, you can mix PDCurses and SDL functions. (Of -course this is extremely non-portable!) To aid you, there are several -external variables and functions specific to the SDL port; you could +If you want to go further, you can mix PDCurses and SDL functions. (Of +course this is extremely non-portable!) To aid you, there are several +external variables and functions specific to the SDL port; you could include pdcsdl.h, or just add the declarations you need in your code: PDCEX SDL_Surface *pdc_screen, *pdc_font, *pdc_icon, *pdc_back; @@ -96,57 +96,57 @@ include pdcsdl.h, or just add the declarations you need in your code: void PDC_update_rects(void); void PDC_retile(void); -pdc_screen is the main surface, created by SDL_SetVideoMode(), unless -it's preset before initscr(). You can perform normal SDL operations on -this surface, but PDCurses won't respect them when it updates. (For -that, see PDC_retile().) As an alternative, you can preinitialize this -surface before calling initscr(). In that case, you can use pdc_sheight, -pdc_swidth, pdc_yoffset and/or pdc_xoffset (q.v.) to confine PDCurses to -only a specific area of the surface, reserving the rest for other SDL -operations. If you preinitialize pdc_screen, you'll have to close it -yourself; PDCurses will ignore resize events, and won't try to set the -icon. Also note that if you preinitialize pdc_screen, it need not be the +pdc_screen is the main surface, created by SDL_SetVideoMode(), unless +it's preset before initscr(). You can perform normal SDL operations on +this surface, but PDCurses won't respect them when it updates. (For +that, see PDC_retile().) As an alternative, you can preinitialize this +surface before calling initscr(). In that case, you can use pdc_sheight, +pdc_swidth, pdc_yoffset and/or pdc_xoffset (q.v.) to confine PDCurses to +only a specific area of the surface, reserving the rest for other SDL +operations. If you preinitialize pdc_screen, you'll have to close it +yourself; PDCurses will ignore resize events, and won't try to set the +icon. Also note that if you preinitialize pdc_screen, it need not be the display surface. -pdc_font, pdc_icon, and pdc_back are the SDL_surfaces for the font, -icon, and background, respectively. You can set any or all of them -before initscr(), and thus override any of the other ways to set them. +pdc_font, pdc_icon, and pdc_back are the SDL_surfaces for the font, +icon, and background, respectively. You can set any or all of them +before initscr(), and thus override any of the other ways to set them. But note that pdc_icon will be ignored if pdc_screen is preset. -pdc_sheight and pdc_swidth are the dimensions of the area of pdc_screen -to be used by PDCurses. You can preset them before initscr(); if either -is not set, it defaults to the full screen size minus the x or y offset, +pdc_sheight and pdc_swidth are the dimensions of the area of pdc_screen +to be used by PDCurses. You can preset them before initscr(); if either +is not set, it defaults to the full screen size minus the x or y offset, as appropriate. -pdc_xoffset and pdc_yoffset are the x and y offset for the area of +pdc_xoffset and pdc_yoffset are the x and y offset for the area of pdc_screen to be used by PDCurses. See the sdltest demo for an example. -PDC_retile() makes a copy of pdc_screen, then tiles it with the -background image, if any. The resulting surface is used as the -background for transparent character cells. PDC_retile() is called from -initscr() and resize_term(). However, you can also use it at other -times, to take advantage of the way it copies pdc_screen: Draw some SDL -stuff; call PDC_retile(); do some curses stuff -- it will use whatever -was on pdc_screen as the background. Then you can erase the curses -screen, do some more SDL stuff, and call PDC_retile() again to make a -new background. (If you don't erase the curses screen, it will be -incorporated into the background when you call PDC_retile().) But this +PDC_retile() makes a copy of pdc_screen, then tiles it with the +background image, if any. The resulting surface is used as the +background for transparent character cells. PDC_retile() is called from +initscr() and resize_term(). However, you can also use it at other +times, to take advantage of the way it copies pdc_screen: Draw some SDL +stuff; call PDC_retile(); do some curses stuff -- it will use whatever +was on pdc_screen as the background. Then you can erase the curses +screen, do some more SDL stuff, and call PDC_retile() again to make a +new background. (If you don't erase the curses screen, it will be +incorporated into the background when you call PDC_retile().) But this only works if no background image is set. -PDC_update_rects() is how the screen actually gets updated. For -performance reasons, when drawing, PDCurses for SDL maintains a table of -rectangles that need updating, and only updates (by calling this -function) during getch(), napms(), or when the table gets full. -Normally, this is sufficient; but if you're pausing in some way other -than by using napms(), and you're not doing keyboard checks, you may get -an incomplete update. If that happens, you can call PDC_update_rects() +PDC_update_rects() is how the screen actually gets updated. For +performance reasons, when drawing, PDCurses for SDL maintains a table of +rectangles that need updating, and only updates (by calling this +function) during getch(), napms(), or when the table gets full. +Normally, this is sufficient; but if you're pausing in some way other +than by using napms(), and you're not doing keyboard checks, you may get +an incomplete update. If that happens, you can call PDC_update_rects() manually. Interaction with stdio ---------------------- -As with X11, it's a bad idea to mix curses and stdio calls. (In fact, -that's true for PDCurses on any platform; but especially these two, -which don't run under terminals.) Depending on how SDL is built, stdout +As with X11, it's a bad idea to mix curses and stdio calls. (In fact, +that's true for PDCurses on any platform; but especially these two, +which don't run under terminals.) Depending on how SDL is built, stdout and stderr may be redirected to files. diff --git a/payloads/libpayload/curses/PDCurses/doc/x11.txt b/payloads/libpayload/curses/PDCurses/doc/x11.txt index db05683d17..5b5cfc0fe1 100644 --- a/payloads/libpayload/curses/PDCurses/doc/x11.txt +++ b/payloads/libpayload/curses/PDCurses/doc/x11.txt @@ -1,35 +1,35 @@ X11 Considerations ================== -PDCurses for X11 uses the System V IPC shared memory facility, along -with sockets, to share data between the curses program and the child +PDCurses for X11 uses the System V IPC shared memory facility, along +with sockets, to share data between the curses program and the child process created to manage the X stuff. -When compiling your application, you need to include the or - that comes with PDCurses. You also need to link your code -with libXCurses. You may need to link with the following libraries under +When compiling your application, you need to include the or + that comes with PDCurses. You also need to link your code +with libXCurses. You may need to link with the following libraries under X11R5: Xaw Xmu Xt X11 or, under X11R6: Xaw Xmu Xt X11 SM ICE Xext -You can run "xcurses-config --libs" to show the link parameters for your +You can run "xcurses-config --libs" to show the link parameters for your system. If using dynamic linking, on some systems, "-lXCurses" suffices. -By calling Xinitscr() rather than initscr(), you can pass your program -name and resource overrides to PDCurses. The program name is used as the -title of the X window, and for defining X resources specific to your +By calling Xinitscr() rather than initscr(), you can pass your program +name and resource overrides to PDCurses. The program name is used as the +title of the X window, and for defining X resources specific to your program. Interaction with stdio ---------------------- -Be aware that curses programs that expect to have a normal tty -underneath them will be very disappointed! Output directed to stdout -will go to the xterm that invoked the PDCurses application, or to the -console if not invoked directly from an xterm. Similarly, stdin will +Be aware that curses programs that expect to have a normal tty +underneath them will be very disappointed! Output directed to stdout +will go to the xterm that invoked the PDCurses application, or to the +console if not invoked directly from an xterm. Similarly, stdin will expect its input from the same place as stdout. @@ -89,7 +89,7 @@ normalFont: The name of a fixed width font. Default: 7x13 italicFont: The name of a fixed width font to be used for - characters with A_ITALIC attributes. Must have the + characters with A_ITALIC attributes. Must have the same cell size as normalFont. Default: 7x13 (obviously not an italic font) @@ -155,14 +155,14 @@ colorBoldWhite: COLOR_WHITE combined with A_BOLD. bitmap: The name of a valid bitmap file of depth 1 (black and white) used for the application's icon. The file is an X bitmap. - Default: a 32x32 or 64x64 pixmap depending on the + Default: a 32x32 or 64x64 pixmap depending on the window manager -pixmap: The name of a valid pixmap file of any depth - supported by the window manager (color) for the - application's icon, The file is an X11 pixmap. This - resource is only available if the libXpm package has - been installed (most systems have this by default). +pixmap: The name of a valid pixmap file of any depth + supported by the window manager (color) for the + application's icon, The file is an X11 pixmap. This + resource is only available if the libXpm package has + been installed (most systems have this by default). This resource overrides the "bitmap" resource. Default: none, uses default bitmap above @@ -177,28 +177,28 @@ translations: Translations enable the user to customize the action : XCursesButton() : XCursesButton() - The most useful action for KeyPress translations is - string(). The argument to the string() action can be - either a string or a hex representation of a + The most useful action for KeyPress translations is + string(). The argument to the string() action can be + either a string or a hex representation of a character; e.g., string(0x1b) will send the ASCII - escape character to the application; string("[11~") + escape character to the application; string("[11~") will send [ 1 1 ~ , as separate keystrokes. shmmin: On most systems, there are two Unix kernel parameters that determine the allowable size of a shared memory - segment. These parameters are usually something like + segment. These parameters are usually something like SHMMIN and SHMMAX. To use shared memory, a program must allocate a segment of shared memory that is between these two values. Usually these values are - like 1 for SHMMIN and some large number for SHMMAX. + like 1 for SHMMIN and some large number for SHMMAX. Sometimes the Unix kernel is configured to have a value of SHMMIN that is bigger than the size of one - of the shared memory segments that libXCurses uses. + of the shared memory segments that libXCurses uses. On these systems an error message like: Cannot allocate shared memory for SCREEN: Invalid argument - will result. To overcome this problem, this resource + will result. To overcome this problem, this resource should be set to the kernel value for SHMMIN. This ensures that a shared memory segment will always be bigger than the kernel value for SHMMIN (and @@ -212,7 +212,7 @@ borderColor: The color of the border around the screen. borderWidth: The width in pixels of the border around the screen. Default: 0 -clickPeriod: The period (in milliseconds) between a button +clickPeriod: The period (in milliseconds) between a button press and a button release that determines if a click of a button has occurred. Default: 100 @@ -223,10 +223,10 @@ doubleClickPeriod: The period (in milliseconds) between two button Default: 200 composeKey: The name of the X key that defines the "compose key", - which is used to enter characters in the Latin-1 - character set above 0xA0. (See "Compose Keys for - Latin-1" below.) This is used only when PDCurses is - built without XIM support. While in compose mode, the + which is used to enter characters in the Latin-1 + character set above 0xA0. (See "Compose Keys for + Latin-1" below.) This is used only when PDCurses is + built without XIM support. While in compose mode, the text cursor will appear as a hollow rectangle. Default: Multi_key @@ -234,8 +234,8 @@ composeKey: The name of the X key that defines the "compose key", Using Resources --------------- -All applications have a top-level class name of "XCurses". If Xinitscr() -is used, it sets an application's top-level widget name. (Otherwise the +All applications have a top-level class name of "XCurses". If Xinitscr() +is used, it sets an application's top-level widget name. (Otherwise the name defaults to "PDCurses".) Examples for app-defaults or .Xdefaults: @@ -275,26 +275,26 @@ the*pointerBackColor: black the.bitmap: /home/mark/the/the64.xbm the.pixmap: /home/mark/the/the64.xpm -Resources may also be passed as parameters to the Xinitscr() function. -Parameters are strings in the form of switches; e.g., to set the color -"red" to "indianred", and the number of lines to 30, the string passed +Resources may also be passed as parameters to the Xinitscr() function. +Parameters are strings in the form of switches; e.g., to set the color +"red" to "indianred", and the number of lines to 30, the string passed to Xinitscr would be: "-colorRed indianred -lines 30" Compose Keys for Latin-1 ------------------------ -When built without XIM support, PDCurses for X11 provides its own, -limited compose key system for Latin-1 characters. The available -combinations are listed here. For a given character, any of the -combinations shown in the last column may be used. To generate a -character, press the "compose" key followed by one of the pairs of -keystrokes. Where no key is evident, the spacebar is used. Thus, to -generate the NO-BREAK SPACE, press the "compose" key followed by two +When built without XIM support, PDCurses for X11 provides its own, +limited compose key system for Latin-1 characters. The available +combinations are listed here. For a given character, any of the +combinations shown in the last column may be used. To generate a +character, press the "compose" key followed by one of the pairs of +keystrokes. Where no key is evident, the spacebar is used. Thus, to +generate the NO-BREAK SPACE, press the "compose" key followed by two hits of the spacebar. -With a typical modern X server, you can get many more compose key -combinations by using XIM instead. Configure PDCurses with --enable-xim +With a typical modern X server, you can get many more compose key +combinations by using XIM instead. Configure PDCurses with --enable-xim to use XIM support. This document is encoded in UTF-8. @@ -404,13 +404,13 @@ This document is encoded in UTF-8. Deprecated ---------- -XCursesProgramName is no longer used. To set the program name, you must +XCursesProgramName is no longer used. To set the program name, you must use Xinitscr(), or PDC_set_title() to set just the window title. -The XCursesExit() function is now called automatically via atexit(). -(Multiple calls to it are OK, so you don't need to remove it if you've +The XCursesExit() function is now called automatically via atexit(). +(Multiple calls to it are OK, so you don't need to remove it if you've already added it for previous versions of PDCurses.) -XCURSES is no longer defined automatically, but need not be defined, -unless you want the X11-specific prototypes. (Normal curses programs +XCURSES is no longer defined automatically, but need not be defined, +unless you want the X11-specific prototypes. (Normal curses programs won't need it.) diff --git a/payloads/libpayload/curses/PDCurses/dos/README b/payloads/libpayload/curses/PDCurses/dos/README index 569034bbae..c8c4679914 100644 --- a/payloads/libpayload/curses/PDCurses/dos/README +++ b/payloads/libpayload/curses/PDCurses/dos/README @@ -31,8 +31,8 @@ Building (For Watcom, use "wmake" instead of "make"; for MSVC, "nmake".) You'll get the libraries (pdcurses.lib or .a, depending on your compiler; and panel.lib or .a), the demos (*.exe), and a lot of object files. Note - that the panel library is just a copy of the main library, provided - for convenience; both panel and curses functions are in the main + that the panel library is just a copy of the main library, provided + for convenience; both panel and curses functions are in the main library. diff --git a/payloads/libpayload/curses/PDCurses/dos/bccdos.mak b/payloads/libpayload/curses/PDCurses/dos/bccdos.mak index 6361a4d8b7..ed7731ad1b 100644 --- a/payloads/libpayload/curses/PDCurses/dos/bccdos.mak +++ b/payloads/libpayload/curses/PDCurses/dos/bccdos.mak @@ -20,9 +20,9 @@ PDCURSES_SRCDIR = .. osdir = $(PDCURSES_SRCDIR)\dos !ifdef DEBUG -CFLAGS = -N -v -y -DPDCDEBUG +CFLAGS = -N -v -y -DPDCDEBUG !else -CFLAGS = -O +CFLAGS = -O !endif CPPFLAGS = -I$(PDCURSES_SRCDIR) diff --git a/payloads/libpayload/curses/PDCurses/dos/mscdos.lrf b/payloads/libpayload/curses/PDCurses/dos/mscdos.lrf index b1fdf37e99..1ab39f0e77 100644 --- a/payloads/libpayload/curses/PDCurses/dos/mscdos.lrf +++ b/payloads/libpayload/curses/PDCurses/dos/mscdos.lrf @@ -13,7 +13,7 @@ -+getch.obj & -+getstr.obj & -+getyx.obj & --+inch.obj & +-+inch.obj & -+inchstr.obj & -+initscr.obj & -+inopts.obj & @@ -23,21 +23,21 @@ -+kernel.obj & -+keyname.obj & -+mouse.obj & --+move.obj & +-+move.obj & -+outopts.obj & -+overlay.obj & --+pad.obj & +-+pad.obj & -+panel.obj & -+printw.obj & -+refresh.obj & -+scanw.obj & -+scr_dump.obj & -+scroll.obj & --+slk.obj & +-+slk.obj & -+termattr.obj & -+terminfo.obj & -+touch.obj & --+util.obj & +-+util.obj & -+window.obj & -+debug.obj & -+pdcclip.obj & diff --git a/payloads/libpayload/curses/PDCurses/dos/mscdos.mak b/payloads/libpayload/curses/PDCurses/dos/mscdos.mak index 7aa6c5f715..7f77632979 100644 --- a/payloads/libpayload/curses/PDCurses/dos/mscdos.mak +++ b/payloads/libpayload/curses/PDCurses/dos/mscdos.mak @@ -26,7 +26,7 @@ CC = cl !ifdef DEBUG CFLAGS = /Od /Zi /DPDCDEBUG -LDFLAGS = /CO /NOE /SE:160 +LDFLAGS = /CO /NOE /SE:160 !else CFLAGS = /Ox LDFLAGS = /NOE /SE:160 diff --git a/payloads/libpayload/curses/PDCurses/os2/README b/payloads/libpayload/curses/PDCurses/os2/README index 7fde884e08..34e0875242 100644 --- a/payloads/libpayload/curses/PDCurses/os2/README +++ b/payloads/libpayload/curses/PDCurses/os2/README @@ -31,7 +31,7 @@ Building library, provided for convenience; both panel and curses functions are in the main library. - You can also use the optional parameter "DLL=Y" with EMX, to build the + You can also use the optional parameter "DLL=Y" with EMX, to build the library as a DLL: make -f gccos2.mak DLL=Y diff --git a/payloads/libpayload/curses/PDCurses/os2/bccos2.mak b/payloads/libpayload/curses/PDCurses/os2/bccos2.mak index 1c7d77a3fe..12ef0d771d 100644 --- a/payloads/libpayload/curses/PDCurses/os2/bccos2.mak +++ b/payloads/libpayload/curses/PDCurses/os2/bccos2.mak @@ -19,9 +19,9 @@ osdir = $(PDCURSES_SRCDIR)\os2 CC = bcc !ifdef DEBUG -CFLAGS = -N -v -y -DPDCDEBUG +CFLAGS = -N -v -y -DPDCDEBUG !else -CFLAGS = -O +CFLAGS = -O !endif CPPFLAGS = -I$(PDCURSES_SRCDIR) diff --git a/payloads/libpayload/curses/PDCurses/os2/gccos2.mak b/payloads/libpayload/curses/PDCurses/os2/gccos2.mak index 07d4dca411..caf8021f5a 100644 --- a/payloads/libpayload/curses/PDCurses/os2/gccos2.mak +++ b/payloads/libpayload/curses/PDCurses/os2/gccos2.mak @@ -31,7 +31,7 @@ ifeq ($(EMXVIDEO),Y) BINDFLAGS = -acm else CCLIBS = - BINDFLAGS = + BINDFLAGS = endif ifeq ($(DEBUG),Y) @@ -52,7 +52,7 @@ DLLTARGET = pdcurses.dll DLLFLAGS = -Zdll -Zcrtdll -Zomf LINK = gcc -EMXBIND = emxbind +EMXBIND = emxbind EMXOMF = emxomf LIBEXE = ar diff --git a/payloads/libpayload/curses/PDCurses/os2/iccos2.lrf b/payloads/libpayload/curses/PDCurses/os2/iccos2.lrf index b1fdf37e99..1ab39f0e77 100644 --- a/payloads/libpayload/curses/PDCurses/os2/iccos2.lrf +++ b/payloads/libpayload/curses/PDCurses/os2/iccos2.lrf @@ -13,7 +13,7 @@ -+getch.obj & -+getstr.obj & -+getyx.obj & --+inch.obj & +-+inch.obj & -+inchstr.obj & -+initscr.obj & -+inopts.obj & @@ -23,21 +23,21 @@ -+kernel.obj & -+keyname.obj & -+mouse.obj & --+move.obj & +-+move.obj & -+outopts.obj & -+overlay.obj & --+pad.obj & +-+pad.obj & -+panel.obj & -+printw.obj & -+refresh.obj & -+scanw.obj & -+scr_dump.obj & -+scroll.obj & --+slk.obj & +-+slk.obj & -+termattr.obj & -+terminfo.obj & -+touch.obj & --+util.obj & +-+util.obj & -+window.obj & -+debug.obj & -+pdcclip.obj & diff --git a/payloads/libpayload/curses/PDCurses/pdcurses/README b/payloads/libpayload/curses/PDCurses/pdcurses/README index bef1c4c469..a6a7ee8feb 100644 --- a/payloads/libpayload/curses/PDCurses/pdcurses/README +++ b/payloads/libpayload/curses/PDCurses/pdcurses/README @@ -1,14 +1,14 @@ PDCurses Portable Core ====================== -This directory contains core PDCurses source code files common to all +This directory contains core PDCurses source code files common to all platforms. Building -------- -These modules are built by the platform-specific makefiles, in the +These modules are built by the platform-specific makefiles, in the platform directories. diff --git a/payloads/libpayload/curses/PDCurses/sdl1/Makefile.mng b/payloads/libpayload/curses/PDCurses/sdl1/Makefile.mng index 427edc670b..80f80e216b 100644 --- a/payloads/libpayload/curses/PDCurses/sdl1/Makefile.mng +++ b/payloads/libpayload/curses/PDCurses/sdl1/Makefile.mng @@ -60,9 +60,9 @@ demos: $(DEMOS) pdcurses.dll: $(DEFFILE) $(DEFFILE): $(DEFDEPS) - echo LIBRARY pdcurses > $@ - echo EXPORTS >> $@ - type $(BASEDEF) >> $@ + echo LIBRARY pdcurses > $@ + echo EXPORTS >> $@ + type $(BASEDEF) >> $@ echo pdc_screen >> $@ echo pdc_font >> $@ echo pdc_icon >> $@ diff --git a/payloads/libpayload/curses/PDCurses/sdl1/README b/payloads/libpayload/curses/PDCurses/sdl1/README index 35234d397d..213d23f633 100644 --- a/payloads/libpayload/curses/PDCurses/sdl1/README +++ b/payloads/libpayload/curses/PDCurses/sdl1/README @@ -9,7 +9,7 @@ Building . On *nix (including Linux and Mac OS X), run "make" in the sdl1 directory. There is no configure script (yet?) for this port. This - assumes a working sdl-config, and GNU make. It builds the library + assumes a working sdl-config, and GNU make. It builds the library libpdcurses.a (dynamic lib not implemented). With MinGW, run "make -f Makefile.mng". This assumes SDL is installed @@ -17,7 +17,7 @@ Building parameters "DLL=Y" and "DEBUG=Y", as with the console version. (Wide- character support is not yet implemented for SDL.) Both makefiles recognize the optional PDCURSES_SRCDIR environment variable, as with - the console ports. Makefile.mng builds libpdcurses.a, along with + the console ports. Makefile.mng builds libpdcurses.a, along with pdcurses.dll, if specified. diff --git a/payloads/libpayload/curses/PDCurses/win32/README b/payloads/libpayload/curses/PDCurses/win32/README index bfe2ad957f..b2ff6d4d9d 100644 --- a/payloads/libpayload/curses/PDCurses/win32/README +++ b/payloads/libpayload/curses/PDCurses/win32/README @@ -1,7 +1,7 @@ PDCurses for Win32 ================== -This directory contains PDCurses source code files specific to Win32 +This directory contains PDCurses source code files specific to Win32 console mode (Win9x/Me/NT/2k/XP/Vista). @@ -38,7 +38,7 @@ Building for convenience; both panel and curses functions are in the main library. - You can also give the optional parameter "WIDE=Y", to build the + You can also give the optional parameter "WIDE=Y", to build the library with wide-character (Unicode) support: make -f mingwin32.mak WIDE=Y @@ -47,9 +47,9 @@ Building unless you also link with the Microsoft Layer for Unicode (not tested). - Another option, "UTF8=Y", makes PDCurses ignore the system locale, and - treat all narrow-character strings as UTF-8. This option has no effect - unless WIDE=Y is also set. Use it to get around the poor support for + Another option, "UTF8=Y", makes PDCurses ignore the system locale, and + treat all narrow-character strings as UTF-8. This option has no effect + unless WIDE=Y is also set. Use it to get around the poor support for UTF-8 in the Win32 console: make -f mingwin32.mak WIDE=Y UTF8=Y diff --git a/payloads/libpayload/curses/PDCurses/x11/Makefile.aix.in b/payloads/libpayload/curses/PDCurses/x11/Makefile.aix.in index 0fe5db78ed..147f6a1b9f 100644 --- a/payloads/libpayload/curses/PDCurses/x11/Makefile.aix.in +++ b/payloads/libpayload/curses/PDCurses/x11/Makefile.aix.in @@ -26,13 +26,13 @@ CPPFLAGS = @DEFS@ -DXCURSES @SYS_DEFS@ -I$(PDCURSES_SRCDIR) BUILD = @CC@ -c $(CFLAGS) $(CPPFLAGS) @MH_XINC_DIR@ LINK = @CC@ -LDFLAGS = +LDFLAGS = LIBCURSES = libXCurses.a all : $(LIBCURSES) -install : +install : echo Does nothing at the moment clean : diff --git a/payloads/libpayload/curses/PDCurses/x11/README b/payloads/libpayload/curses/PDCurses/x11/README index 37b45d06e7..c6cf89e2b3 100644 --- a/payloads/libpayload/curses/PDCurses/x11/README +++ b/payloads/libpayload/curses/PDCurses/x11/README @@ -1,8 +1,8 @@ PDCurses for X11 ================ -This is a port of PDCurses for X11, aka XCurses. It is designed to -allow existing curses programs to be re-compiled with PDCurses, +This is a port of PDCurses for X11, aka XCurses. It is designed to +allow existing curses programs to be re-compiled with PDCurses, resulting in native X11 programs. @@ -43,8 +43,8 @@ Building Distribution Status ------------------- -As of April 13, 2006, the files in this directory are released to the -Public Domain, except for ScrollBox*, which are under essentially the +As of April 13, 2006, the files in this directory are released to the +Public Domain, except for ScrollBox*, which are under essentially the MIT X License.