Upgraded PDCurses -- was still about 80 commits behind upstream. Oops.

This commit is contained in:
casey langen 2018-02-23 23:28:29 -08:00
parent 6965684718
commit b488951e1d
13 changed files with 582 additions and 537 deletions

View File

@ -109,8 +109,8 @@ typedef chtype attr_t;
#define PDC_VER_MINOR 0
#define PDC_VER_CHANGE 2
#define PDC_VER_YEAR 2017
#define PDC_VER_MONTH 05
#define PDC_VER_DAY 07
#define PDC_VER_MONTH 07
#define PDC_VER_DAY 26
#define PDC_BUILD (PDC_VER_MAJOR*1000 + PDC_VER_MINOR *100 + PDC_VER_CHANGE)
@ -132,7 +132,7 @@ enum PDC_port
};
/* Detailed PDC version information */
#define PDC_HAS_VERSION_INFO 1
typedef struct
{
const enum PDC_port port;
@ -416,7 +416,7 @@ PDCEX int COLOR_PAIRS;
PDCEX int TABSIZE;
PDCEX chtype acs_map[]; /* alternate character set map */
PDCEX char ttytype[]; /* terminal name/description */
PDCEX const PDC_version_info PDC_version;
PDCEX PDC_version_info PDC_version;
/*man-start**************************************************************
@ -1304,457 +1304,457 @@ Some won't work in non-wide X11 builds (see 'acs_defs.h' for details). */
/* Standard */
int addch(const chtype);
int addchnstr(const chtype *, int);
int addchstr(const chtype *);
int addnstr(const char *, int);
int addstr(const char *);
int attroff(chtype);
int attron(chtype);
int attrset(chtype);
int attr_get(attr_t *, short *, void *);
int attr_off(attr_t, void *);
int attr_on(attr_t, void *);
int attr_set(attr_t, short, void *);
int baudrate(void);
int beep(void);
int bkgd(chtype);
void bkgdset(chtype);
int border(chtype, chtype, chtype, chtype, chtype, chtype, chtype, chtype);
int box(WINDOW *, chtype, chtype);
bool can_change_color(void);
int cbreak(void);
int chgat(int, attr_t, short, const void *);
int clearok(WINDOW *, bool);
int clear(void);
int clrtobot(void);
int clrtoeol(void);
int color_content(short, short *, short *, short *);
int color_set(short, void *);
int copywin(const WINDOW *, WINDOW *, int, int, int, int, int, int, int);
int curs_set(int);
int def_prog_mode(void);
int def_shell_mode(void);
int delay_output(int);
int delch(void);
int deleteln(void);
void delscreen(SCREEN *);
int delwin(WINDOW *);
WINDOW *derwin(WINDOW *, int, int, int, int);
int doupdate(void);
WINDOW *dupwin(WINDOW *);
int echochar(const chtype);
int echo(void);
int endwin(void);
char erasechar(void);
int erase(void);
void filter(void);
int flash(void);
int flushinp(void);
chtype getbkgd(WINDOW *);
int getnstr(char *, int);
int getstr(char *);
WINDOW *getwin(FILE *);
int halfdelay(int);
bool has_colors(void);
bool has_ic(void);
bool has_il(void);
int hline(chtype, int);
void idcok(WINDOW *, bool);
int idlok(WINDOW *, bool);
void immedok(WINDOW *, bool);
int inchnstr(chtype *, int);
int inchstr(chtype *);
chtype inch(void);
int init_color(short, short, short, short);
int init_pair(short, short, short);
WINDOW *initscr(void);
int innstr(char *, int);
int insch(chtype);
int insdelln(int);
int insertln(void);
int insnstr(const char *, int);
int insstr(const char *);
int instr(char *);
int intrflush(WINDOW *, bool);
bool isendwin(void);
bool is_linetouched(WINDOW *, int);
bool is_wintouched(WINDOW *);
char *keyname(int);
int keypad(WINDOW *, bool);
char killchar(void);
int leaveok(WINDOW *, bool);
char *longname(void);
int meta(WINDOW *, bool);
int move(int, int);
int mvaddch(int, int, const chtype);
int mvaddchnstr(int, int, const chtype *, int);
int mvaddchstr(int, int, const chtype *);
int mvaddnstr(int, int, const char *, int);
int mvaddstr(int, int, const char *);
int mvchgat(int, int, int, attr_t, short, const void *);
int mvcur(int, int, int, int);
int mvdelch(int, int);
int mvderwin(WINDOW *, int, int);
int mvgetch(int, int);
int mvgetnstr(int, int, char *, int);
int mvgetstr(int, int, char *);
int mvhline(int, int, chtype, int);
chtype mvinch(int, int);
int mvinchnstr(int, int, chtype *, int);
int mvinchstr(int, int, chtype *);
int mvinnstr(int, int, char *, int);
int mvinsch(int, int, chtype);
int mvinsnstr(int, int, const char *, int);
int mvinsstr(int, int, const char *);
int mvinstr(int, int, char *);
int mvprintw(int, int, const char *, ...);
int mvscanw(int, int, const char *, ...);
int mvvline(int, int, chtype, int);
int mvwaddchnstr(WINDOW *, int, int, const chtype *, int);
int mvwaddchstr(WINDOW *, int, int, const chtype *);
int mvwaddch(WINDOW *, int, int, const chtype);
int mvwaddnstr(WINDOW *, int, int, const char *, int);
int mvwaddstr(WINDOW *, int, int, const char *);
int mvwchgat(WINDOW *, int, int, int, attr_t, short, const void *);
int mvwdelch(WINDOW *, int, int);
int mvwgetch(WINDOW *, int, int);
int mvwgetnstr(WINDOW *, int, int, char *, int);
int mvwgetstr(WINDOW *, int, int, char *);
int mvwhline(WINDOW *, int, int, chtype, int);
int mvwinchnstr(WINDOW *, int, int, chtype *, int);
int mvwinchstr(WINDOW *, int, int, chtype *);
chtype mvwinch(WINDOW *, int, int);
int mvwinnstr(WINDOW *, int, int, char *, int);
int mvwinsch(WINDOW *, int, int, chtype);
int mvwinsnstr(WINDOW *, int, int, const char *, int);
int mvwinsstr(WINDOW *, int, int, const char *);
int mvwinstr(WINDOW *, int, int, char *);
int mvwin(WINDOW *, int, int);
int mvwprintw(WINDOW *, int, int, const char *, ...);
int mvwscanw(WINDOW *, int, int, const char *, ...);
int mvwvline(WINDOW *, int, int, chtype, int);
int napms(int);
WINDOW *newpad(int, int);
SCREEN *newterm(const char *, FILE *, FILE *);
WINDOW *newwin(int, int, int, int);
int nl(void);
int nocbreak(void);
int nodelay(WINDOW *, bool);
int noecho(void);
int nonl(void);
void noqiflush(void);
int noraw(void);
int notimeout(WINDOW *, bool);
int overlay(const WINDOW *, WINDOW *);
int overwrite(const WINDOW *, WINDOW *);
int pair_content(short, short *, short *);
int pechochar(WINDOW *, chtype);
int pnoutrefresh(WINDOW *, int, int, int, int, int, int);
int prefresh(WINDOW *, int, int, int, int, int, int);
int printw(const char *, ...);
int putwin(WINDOW *, FILE *);
void qiflush(void);
int raw(void);
int redrawwin(WINDOW *);
int refresh(void);
int reset_prog_mode(void);
int reset_shell_mode(void);
int resetty(void);
int ripoffline(int, int (*)(WINDOW *, int));
int savetty(void);
int scanw(const char *, ...);
int scr_dump(const char *);
int scr_init(const char *);
int scr_restore(const char *);
int scr_set(const char *);
int scrl(int);
int scroll(WINDOW *);
int scrollok(WINDOW *, bool);
SCREEN *set_term(SCREEN *);
int setscrreg(int, int);
int slk_attroff(const chtype);
int slk_attr_off(const attr_t, void *);
int slk_attron(const chtype);
int slk_attr_on(const attr_t, void *);
int slk_attrset(const chtype);
int slk_attr_set(const attr_t, short, void *);
int slk_clear(void);
int slk_color(short);
int slk_init(int);
char *slk_label(int);
int slk_noutrefresh(void);
int slk_refresh(void);
int slk_restore(void);
int slk_set(int, const char *, int);
int slk_touch(void);
int standend(void);
int standout(void);
int start_color(void);
WINDOW *subpad(WINDOW *, int, int, int, int);
WINDOW *subwin(WINDOW *, int, int, int, int);
int syncok(WINDOW *, bool);
chtype termattrs(void);
attr_t term_attrs(void);
char *termname(void);
void timeout(int);
int touchline(WINDOW *, int, int);
int touchwin(WINDOW *);
int typeahead(int);
int untouchwin(WINDOW *);
void use_env(bool);
int vidattr(chtype);
int vid_attr(attr_t, short, void *);
int vidputs(chtype, int (*)(int));
int vid_puts(attr_t, short, void *, int (*)(int));
int vline(chtype, int);
int vw_printw(WINDOW *, const char *, va_list);
int vwprintw(WINDOW *, const char *, va_list);
int vw_scanw(WINDOW *, const char *, va_list);
int vwscanw(WINDOW *, const char *, va_list);
int waddchnstr(WINDOW *, const chtype *, int);
int waddchstr(WINDOW *, const chtype *);
int waddch(WINDOW *, const chtype);
int waddnstr(WINDOW *, const char *, int);
int waddstr(WINDOW *, const char *);
int wattroff(WINDOW *, chtype);
int wattron(WINDOW *, chtype);
int wattrset(WINDOW *, chtype);
int wattr_get(WINDOW *, attr_t *, short *, void *);
int wattr_off(WINDOW *, attr_t, void *);
int wattr_on(WINDOW *, attr_t, void *);
int wattr_set(WINDOW *, attr_t, short, void *);
void wbkgdset(WINDOW *, chtype);
int wbkgd(WINDOW *, chtype);
int wborder(WINDOW *, chtype, chtype, chtype, chtype,
chtype, chtype, chtype, chtype);
int wchgat(WINDOW *, int, attr_t, short, const void *);
int wclear(WINDOW *);
int wclrtobot(WINDOW *);
int wclrtoeol(WINDOW *);
int wcolor_set(WINDOW *, short, void *);
void wcursyncup(WINDOW *);
int wdelch(WINDOW *);
int wdeleteln(WINDOW *);
int wechochar(WINDOW *, const chtype);
int werase(WINDOW *);
int wgetch(WINDOW *);
int wgetnstr(WINDOW *, char *, int);
int wgetstr(WINDOW *, char *);
int whline(WINDOW *, chtype, int);
int winchnstr(WINDOW *, chtype *, int);
int winchstr(WINDOW *, chtype *);
chtype winch(WINDOW *);
int winnstr(WINDOW *, char *, int);
int winsch(WINDOW *, chtype);
int winsdelln(WINDOW *, int);
int winsertln(WINDOW *);
int winsnstr(WINDOW *, const char *, int);
int winsstr(WINDOW *, const char *);
int winstr(WINDOW *, char *);
int wmove(WINDOW *, int, int);
int wnoutrefresh(WINDOW *);
int wprintw(WINDOW *, const char *, ...);
int wredrawln(WINDOW *, int, int);
int wrefresh(WINDOW *);
int wscanw(WINDOW *, const char *, ...);
int wscrl(WINDOW *, int);
int wsetscrreg(WINDOW *, int, int);
int wstandend(WINDOW *);
int wstandout(WINDOW *);
void wsyncdown(WINDOW *);
void wsyncup(WINDOW *);
void wtimeout(WINDOW *, int);
int wtouchln(WINDOW *, int, int, int);
int wvline(WINDOW *, chtype, int);
PDCEX int addch(const chtype);
PDCEX int addchnstr(const chtype *, int);
PDCEX int addchstr(const chtype *);
PDCEX int addnstr(const char *, int);
PDCEX int addstr(const char *);
PDCEX int attroff(chtype);
PDCEX int attron(chtype);
PDCEX int attrset(chtype);
PDCEX int attr_get(attr_t *, short *, void *);
PDCEX int attr_off(attr_t, void *);
PDCEX int attr_on(attr_t, void *);
PDCEX int attr_set(attr_t, short, void *);
PDCEX int baudrate(void);
PDCEX int beep(void);
PDCEX int bkgd(chtype);
PDCEX void bkgdset(chtype);
PDCEX int border(chtype, chtype, chtype, chtype, chtype, chtype, chtype, chtype);
PDCEX int box(WINDOW *, chtype, chtype);
PDCEX bool can_change_color(void);
PDCEX int cbreak(void);
PDCEX int chgat(int, attr_t, short, const void *);
PDCEX int clearok(WINDOW *, bool);
PDCEX int clear(void);
PDCEX int clrtobot(void);
PDCEX int clrtoeol(void);
PDCEX int color_content(short, short *, short *, short *);
PDCEX int color_set(short, void *);
PDCEX int copywin(const WINDOW *, WINDOW *, int, int, int, int, int, int, int);
PDCEX int curs_set(int);
PDCEX int def_prog_mode(void);
PDCEX int def_shell_mode(void);
PDCEX int delay_output(int);
PDCEX int delch(void);
PDCEX int deleteln(void);
PDCEX void delscreen(SCREEN *);
PDCEX int delwin(WINDOW *);
PDCEX WINDOW *derwin(WINDOW *, int, int, int, int);
PDCEX int doupdate(void);
PDCEX WINDOW *dupwin(WINDOW *);
PDCEX int echochar(const chtype);
PDCEX int echo(void);
PDCEX int endwin(void);
PDCEX char erasechar(void);
PDCEX int erase(void);
PDCEX void filter(void);
PDCEX int flash(void);
PDCEX int flushinp(void);
PDCEX chtype getbkgd(WINDOW *);
PDCEX int getnstr(char *, int);
PDCEX int getstr(char *);
PDCEX WINDOW *getwin(FILE *);
PDCEX int halfdelay(int);
PDCEX bool has_colors(void);
PDCEX bool has_ic(void);
PDCEX bool has_il(void);
PDCEX int hline(chtype, int);
PDCEX void idcok(WINDOW *, bool);
PDCEX int idlok(WINDOW *, bool);
PDCEX void immedok(WINDOW *, bool);
PDCEX int inchnstr(chtype *, int);
PDCEX int inchstr(chtype *);
PDCEX chtype inch(void);
PDCEX int init_color(short, short, short, short);
PDCEX int init_pair(short, short, short);
PDCEX WINDOW *initscr(void);
PDCEX int innstr(char *, int);
PDCEX int insch(chtype);
PDCEX int insdelln(int);
PDCEX int insertln(void);
PDCEX int insnstr(const char *, int);
PDCEX int insstr(const char *);
PDCEX int instr(char *);
PDCEX int intrflush(WINDOW *, bool);
PDCEX bool isendwin(void);
PDCEX bool is_linetouched(WINDOW *, int);
PDCEX bool is_wintouched(WINDOW *);
PDCEX char *keyname(int);
PDCEX int keypad(WINDOW *, bool);
PDCEX char killchar(void);
PDCEX int leaveok(WINDOW *, bool);
PDCEX char *longname(void);
PDCEX int meta(WINDOW *, bool);
PDCEX int move(int, int);
PDCEX int mvaddch(int, int, const chtype);
PDCEX int mvaddchnstr(int, int, const chtype *, int);
PDCEX int mvaddchstr(int, int, const chtype *);
PDCEX int mvaddnstr(int, int, const char *, int);
PDCEX int mvaddstr(int, int, const char *);
PDCEX int mvchgat(int, int, int, attr_t, short, const void *);
PDCEX int mvcur(int, int, int, int);
PDCEX int mvdelch(int, int);
PDCEX int mvderwin(WINDOW *, int, int);
PDCEX int mvgetch(int, int);
PDCEX int mvgetnstr(int, int, char *, int);
PDCEX int mvgetstr(int, int, char *);
PDCEX int mvhline(int, int, chtype, int);
PDCEX chtype mvinch(int, int);
PDCEX int mvinchnstr(int, int, chtype *, int);
PDCEX int mvinchstr(int, int, chtype *);
PDCEX int mvinnstr(int, int, char *, int);
PDCEX int mvinsch(int, int, chtype);
PDCEX int mvinsnstr(int, int, const char *, int);
PDCEX int mvinsstr(int, int, const char *);
PDCEX int mvinstr(int, int, char *);
PDCEX int mvprintw(int, int, const char *, ...);
PDCEX int mvscanw(int, int, const char *, ...);
PDCEX int mvvline(int, int, chtype, int);
PDCEX int mvwaddchnstr(WINDOW *, int, int, const chtype *, int);
PDCEX int mvwaddchstr(WINDOW *, int, int, const chtype *);
PDCEX int mvwaddch(WINDOW *, int, int, const chtype);
PDCEX int mvwaddnstr(WINDOW *, int, int, const char *, int);
PDCEX int mvwaddstr(WINDOW *, int, int, const char *);
PDCEX int mvwchgat(WINDOW *, int, int, int, attr_t, short, const void *);
PDCEX int mvwdelch(WINDOW *, int, int);
PDCEX int mvwgetch(WINDOW *, int, int);
PDCEX int mvwgetnstr(WINDOW *, int, int, char *, int);
PDCEX int mvwgetstr(WINDOW *, int, int, char *);
PDCEX int mvwhline(WINDOW *, int, int, chtype, int);
PDCEX int mvwinchnstr(WINDOW *, int, int, chtype *, int);
PDCEX int mvwinchstr(WINDOW *, int, int, chtype *);
PDCEX chtype mvwinch(WINDOW *, int, int);
PDCEX int mvwinnstr(WINDOW *, int, int, char *, int);
PDCEX int mvwinsch(WINDOW *, int, int, chtype);
PDCEX int mvwinsnstr(WINDOW *, int, int, const char *, int);
PDCEX int mvwinsstr(WINDOW *, int, int, const char *);
PDCEX int mvwinstr(WINDOW *, int, int, char *);
PDCEX int mvwin(WINDOW *, int, int);
PDCEX int mvwprintw(WINDOW *, int, int, const char *, ...);
PDCEX int mvwscanw(WINDOW *, int, int, const char *, ...);
PDCEX int mvwvline(WINDOW *, int, int, chtype, int);
PDCEX int napms(int);
PDCEX WINDOW *newpad(int, int);
PDCEX SCREEN *newterm(const char *, FILE *, FILE *);
PDCEX WINDOW *newwin(int, int, int, int);
PDCEX int nl(void);
PDCEX int nocbreak(void);
PDCEX int nodelay(WINDOW *, bool);
PDCEX int noecho(void);
PDCEX int nonl(void);
PDCEX void noqiflush(void);
PDCEX int noraw(void);
PDCEX int notimeout(WINDOW *, bool);
PDCEX int overlay(const WINDOW *, WINDOW *);
PDCEX int overwrite(const WINDOW *, WINDOW *);
PDCEX int pair_content(short, short *, short *);
PDCEX int pechochar(WINDOW *, chtype);
PDCEX int pnoutrefresh(WINDOW *, int, int, int, int, int, int);
PDCEX int prefresh(WINDOW *, int, int, int, int, int, int);
PDCEX int printw(const char *, ...);
PDCEX int putwin(WINDOW *, FILE *);
PDCEX void qiflush(void);
PDCEX int raw(void);
PDCEX int redrawwin(WINDOW *);
PDCEX int refresh(void);
PDCEX int reset_prog_mode(void);
PDCEX int reset_shell_mode(void);
PDCEX int resetty(void);
PDCEX int ripoffline(int, int (*)(WINDOW *, int));
PDCEX int savetty(void);
PDCEX int scanw(const char *, ...);
PDCEX int scr_dump(const char *);
PDCEX int scr_init(const char *);
PDCEX int scr_restore(const char *);
PDCEX int scr_set(const char *);
PDCEX int scrl(int);
PDCEX int scroll(WINDOW *);
PDCEX int scrollok(WINDOW *, bool);
PDCEX SCREEN *set_term(SCREEN *);
PDCEX int setscrreg(int, int);
PDCEX int slk_attroff(const chtype);
PDCEX int slk_attr_off(const attr_t, void *);
PDCEX int slk_attron(const chtype);
PDCEX int slk_attr_on(const attr_t, void *);
PDCEX int slk_attrset(const chtype);
PDCEX int slk_attr_set(const attr_t, short, void *);
PDCEX int slk_clear(void);
PDCEX int slk_color(short);
PDCEX int slk_init(int);
PDCEX char *slk_label(int);
PDCEX int slk_noutrefresh(void);
PDCEX int slk_refresh(void);
PDCEX int slk_restore(void);
PDCEX int slk_set(int, const char *, int);
PDCEX int slk_touch(void);
PDCEX int standend(void);
PDCEX int standout(void);
PDCEX int start_color(void);
PDCEX WINDOW *subpad(WINDOW *, int, int, int, int);
PDCEX WINDOW *subwin(WINDOW *, int, int, int, int);
PDCEX int syncok(WINDOW *, bool);
PDCEX chtype termattrs(void);
PDCEX attr_t term_attrs(void);
PDCEX char *termname(void);
PDCEX void timeout(int);
PDCEX int touchline(WINDOW *, int, int);
PDCEX int touchwin(WINDOW *);
PDCEX int typeahead(int);
PDCEX int untouchwin(WINDOW *);
PDCEX void use_env(bool);
PDCEX int vidattr(chtype);
PDCEX int vid_attr(attr_t, short, void *);
PDCEX int vidputs(chtype, int (*)(int));
PDCEX int vid_puts(attr_t, short, void *, int (*)(int));
PDCEX int vline(chtype, int);
PDCEX int vw_printw(WINDOW *, const char *, va_list);
PDCEX int vwprintw(WINDOW *, const char *, va_list);
PDCEX int vw_scanw(WINDOW *, const char *, va_list);
PDCEX int vwscanw(WINDOW *, const char *, va_list);
PDCEX int waddchnstr(WINDOW *, const chtype *, int);
PDCEX int waddchstr(WINDOW *, const chtype *);
PDCEX int waddch(WINDOW *, const chtype);
PDCEX int waddnstr(WINDOW *, const char *, int);
PDCEX int waddstr(WINDOW *, const char *);
PDCEX int wattroff(WINDOW *, chtype);
PDCEX int wattron(WINDOW *, chtype);
PDCEX int wattrset(WINDOW *, chtype);
PDCEX int wattr_get(WINDOW *, attr_t *, short *, void *);
PDCEX int wattr_off(WINDOW *, attr_t, void *);
PDCEX int wattr_on(WINDOW *, attr_t, void *);
PDCEX int wattr_set(WINDOW *, attr_t, short, void *);
PDCEX void wbkgdset(WINDOW *, chtype);
PDCEX int wbkgd(WINDOW *, chtype);
PDCEX int wborder(WINDOW *, chtype, chtype, chtype, chtype,
chtype, chtype, chtype, chtype);
PDCEX int wchgat(WINDOW *, int, attr_t, short, const void *);
PDCEX int wclear(WINDOW *);
PDCEX int wclrtobot(WINDOW *);
PDCEX int wclrtoeol(WINDOW *);
PDCEX int wcolor_set(WINDOW *, short, void *);
PDCEX void wcursyncup(WINDOW *);
PDCEX int wdelch(WINDOW *);
PDCEX int wdeleteln(WINDOW *);
PDCEX int wechochar(WINDOW *, const chtype);
PDCEX int werase(WINDOW *);
PDCEX int wgetch(WINDOW *);
PDCEX int wgetnstr(WINDOW *, char *, int);
PDCEX int wgetstr(WINDOW *, char *);
PDCEX int whline(WINDOW *, chtype, int);
PDCEX int winchnstr(WINDOW *, chtype *, int);
PDCEX int winchstr(WINDOW *, chtype *);
PDCEX chtype winch(WINDOW *);
PDCEX int winnstr(WINDOW *, char *, int);
PDCEX int winsch(WINDOW *, chtype);
PDCEX int winsdelln(WINDOW *, int);
PDCEX int winsertln(WINDOW *);
PDCEX int winsnstr(WINDOW *, const char *, int);
PDCEX int winsstr(WINDOW *, const char *);
PDCEX int winstr(WINDOW *, char *);
PDCEX int wmove(WINDOW *, int, int);
PDCEX int wnoutrefresh(WINDOW *);
PDCEX int wprintw(WINDOW *, const char *, ...);
PDCEX int wredrawln(WINDOW *, int, int);
PDCEX int wrefresh(WINDOW *);
PDCEX int wscanw(WINDOW *, const char *, ...);
PDCEX int wscrl(WINDOW *, int);
PDCEX int wsetscrreg(WINDOW *, int, int);
PDCEX int wstandend(WINDOW *);
PDCEX int wstandout(WINDOW *);
PDCEX void wsyncdown(WINDOW *);
PDCEX void wsyncup(WINDOW *);
PDCEX void wtimeout(WINDOW *, int);
PDCEX int wtouchln(WINDOW *, int, int, int);
PDCEX int wvline(WINDOW *, chtype, int);
/* Wide-character functions */
#ifdef PDC_WIDE
int addnwstr(const wchar_t *, int);
int addwstr(const wchar_t *);
int add_wch(const cchar_t *);
int add_wchnstr(const cchar_t *, int);
int add_wchstr(const cchar_t *);
int border_set(const cchar_t *, const cchar_t *, const cchar_t *,
PDCEX int addnwstr(const wchar_t *, int);
PDCEX int addwstr(const wchar_t *);
PDCEX int add_wch(const cchar_t *);
PDCEX int add_wchnstr(const cchar_t *, int);
PDCEX int add_wchstr(const cchar_t *);
PDCEX int border_set(const cchar_t *, const cchar_t *, const cchar_t *,
const cchar_t *, const cchar_t *, const cchar_t *,
const cchar_t *, const cchar_t *);
int box_set(WINDOW *, const cchar_t *, const cchar_t *);
int echo_wchar(const cchar_t *);
int erasewchar(wchar_t *);
int getbkgrnd(cchar_t *);
int getcchar(const cchar_t *, wchar_t *, attr_t *, short *, void *);
int getn_wstr(wint_t *, int);
int get_wch(wint_t *);
int get_wstr(wint_t *);
int hline_set(const cchar_t *, int);
int innwstr(wchar_t *, int);
int ins_nwstr(const wchar_t *, int);
int ins_wch(const cchar_t *);
int ins_wstr(const wchar_t *);
int inwstr(wchar_t *);
int in_wch(cchar_t *);
int in_wchnstr(cchar_t *, int);
int in_wchstr(cchar_t *);
char *key_name(wchar_t);
int killwchar(wchar_t *);
int mvaddnwstr(int, int, const wchar_t *, int);
int mvaddwstr(int, int, const wchar_t *);
int mvadd_wch(int, int, const cchar_t *);
int mvadd_wchnstr(int, int, const cchar_t *, int);
int mvadd_wchstr(int, int, const cchar_t *);
int mvgetn_wstr(int, int, wint_t *, int);
int mvget_wch(int, int, wint_t *);
int mvget_wstr(int, int, wint_t *);
int mvhline_set(int, int, const cchar_t *, int);
int mvinnwstr(int, int, wchar_t *, int);
int mvins_nwstr(int, int, const wchar_t *, int);
int mvins_wch(int, int, const cchar_t *);
int mvins_wstr(int, int, const wchar_t *);
int mvinwstr(int, int, wchar_t *);
int mvin_wch(int, int, cchar_t *);
int mvin_wchnstr(int, int, cchar_t *, int);
int mvin_wchstr(int, int, cchar_t *);
int mvvline_set(int, int, const cchar_t *, int);
int mvwaddnwstr(WINDOW *, int, int, const wchar_t *, int);
int mvwaddwstr(WINDOW *, int, int, const wchar_t *);
int mvwadd_wch(WINDOW *, int, int, const cchar_t *);
int mvwadd_wchnstr(WINDOW *, int, int, const cchar_t *, int);
int mvwadd_wchstr(WINDOW *, int, int, const cchar_t *);
int mvwgetn_wstr(WINDOW *, int, int, wint_t *, int);
int mvwget_wch(WINDOW *, int, int, wint_t *);
int mvwget_wstr(WINDOW *, int, int, wint_t *);
int mvwhline_set(WINDOW *, int, int, const cchar_t *, int);
int mvwinnwstr(WINDOW *, int, int, wchar_t *, int);
int mvwins_nwstr(WINDOW *, int, int, const wchar_t *, int);
int mvwins_wch(WINDOW *, int, int, const cchar_t *);
int mvwins_wstr(WINDOW *, int, int, const wchar_t *);
int mvwin_wch(WINDOW *, int, int, cchar_t *);
int mvwin_wchnstr(WINDOW *, int, int, cchar_t *, int);
int mvwin_wchstr(WINDOW *, int, int, cchar_t *);
int mvwinwstr(WINDOW *, int, int, wchar_t *);
int mvwvline_set(WINDOW *, int, int, const cchar_t *, int);
int pecho_wchar(WINDOW *, const cchar_t*);
int setcchar(cchar_t*, const wchar_t*, const attr_t, short, const void*);
int slk_wset(int, const wchar_t *, int);
int unget_wch(const wchar_t);
int vline_set(const cchar_t *, int);
int waddnwstr(WINDOW *, const wchar_t *, int);
int waddwstr(WINDOW *, const wchar_t *);
int wadd_wch(WINDOW *, const cchar_t *);
int wadd_wchnstr(WINDOW *, const cchar_t *, int);
int wadd_wchstr(WINDOW *, const cchar_t *);
int wbkgrnd(WINDOW *, const cchar_t *);
void wbkgrndset(WINDOW *, const cchar_t *);
int wborder_set(WINDOW *, const cchar_t *, const cchar_t *,
const cchar_t *, const cchar_t *, const cchar_t *,
const cchar_t *, const cchar_t *, const cchar_t *);
int wecho_wchar(WINDOW *, const cchar_t *);
int wgetbkgrnd(WINDOW *, cchar_t *);
int wgetn_wstr(WINDOW *, wint_t *, int);
int wget_wch(WINDOW *, wint_t *);
int wget_wstr(WINDOW *, wint_t *);
int whline_set(WINDOW *, const cchar_t *, int);
int winnwstr(WINDOW *, wchar_t *, int);
int wins_nwstr(WINDOW *, const wchar_t *, int);
int wins_wch(WINDOW *, const cchar_t *);
int wins_wstr(WINDOW *, const wchar_t *);
int winwstr(WINDOW *, wchar_t *);
int win_wch(WINDOW *, cchar_t *);
int win_wchnstr(WINDOW *, cchar_t *, int);
int win_wchstr(WINDOW *, cchar_t *);
wchar_t *wunctrl(cchar_t *);
int wvline_set(WINDOW *, const cchar_t *, int);
PDCEX int box_set(WINDOW *, const cchar_t *, const cchar_t *);
PDCEX int echo_wchar(const cchar_t *);
PDCEX int erasewchar(wchar_t *);
PDCEX int getbkgrnd(cchar_t *);
PDCEX int getcchar(const cchar_t *, wchar_t *, attr_t *, short *, void *);
PDCEX int getn_wstr(wint_t *, int);
PDCEX int get_wch(wint_t *);
PDCEX int get_wstr(wint_t *);
PDCEX int hline_set(const cchar_t *, int);
PDCEX int innwstr(wchar_t *, int);
PDCEX int ins_nwstr(const wchar_t *, int);
PDCEX int ins_wch(const cchar_t *);
PDCEX int ins_wstr(const wchar_t *);
PDCEX int inwstr(wchar_t *);
PDCEX int in_wch(cchar_t *);
PDCEX int in_wchnstr(cchar_t *, int);
PDCEX int in_wchstr(cchar_t *);
PDCEX char *key_name(wchar_t);
PDCEX int killwchar(wchar_t *);
PDCEX int mvaddnwstr(int, int, const wchar_t *, int);
PDCEX int mvaddwstr(int, int, const wchar_t *);
PDCEX int mvadd_wch(int, int, const cchar_t *);
PDCEX int mvadd_wchnstr(int, int, const cchar_t *, int);
PDCEX int mvadd_wchstr(int, int, const cchar_t *);
PDCEX int mvgetn_wstr(int, int, wint_t *, int);
PDCEX int mvget_wch(int, int, wint_t *);
PDCEX int mvget_wstr(int, int, wint_t *);
PDCEX int mvhline_set(int, int, const cchar_t *, int);
PDCEX int mvinnwstr(int, int, wchar_t *, int);
PDCEX int mvins_nwstr(int, int, const wchar_t *, int);
PDCEX int mvins_wch(int, int, const cchar_t *);
PDCEX int mvins_wstr(int, int, const wchar_t *);
PDCEX int mvinwstr(int, int, wchar_t *);
PDCEX int mvin_wch(int, int, cchar_t *);
PDCEX int mvin_wchnstr(int, int, cchar_t *, int);
PDCEX int mvin_wchstr(int, int, cchar_t *);
PDCEX int mvvline_set(int, int, const cchar_t *, int);
PDCEX int mvwaddnwstr(WINDOW *, int, int, const wchar_t *, int);
PDCEX int mvwaddwstr(WINDOW *, int, int, const wchar_t *);
PDCEX int mvwadd_wch(WINDOW *, int, int, const cchar_t *);
PDCEX int mvwadd_wchnstr(WINDOW *, int, int, const cchar_t *, int);
PDCEX int mvwadd_wchstr(WINDOW *, int, int, const cchar_t *);
PDCEX int mvwgetn_wstr(WINDOW *, int, int, wint_t *, int);
PDCEX int mvwget_wch(WINDOW *, int, int, wint_t *);
PDCEX int mvwget_wstr(WINDOW *, int, int, wint_t *);
PDCEX int mvwhline_set(WINDOW *, int, int, const cchar_t *, int);
PDCEX int mvwinnwstr(WINDOW *, int, int, wchar_t *, int);
PDCEX int mvwins_nwstr(WINDOW *, int, int, const wchar_t *, int);
PDCEX int mvwins_wch(WINDOW *, int, int, const cchar_t *);
PDCEX int mvwins_wstr(WINDOW *, int, int, const wchar_t *);
PDCEX int mvwin_wch(WINDOW *, int, int, cchar_t *);
PDCEX int mvwin_wchnstr(WINDOW *, int, int, cchar_t *, int);
PDCEX int mvwin_wchstr(WINDOW *, int, int, cchar_t *);
PDCEX int mvwinwstr(WINDOW *, int, int, wchar_t *);
PDCEX int mvwvline_set(WINDOW *, int, int, const cchar_t *, int);
PDCEX int pecho_wchar(WINDOW *, const cchar_t*);
PDCEX int setcchar(cchar_t*, const wchar_t*, const attr_t, short, const void*);
PDCEX int slk_wset(int, const wchar_t *, int);
PDCEX int unget_wch(const wchar_t);
PDCEX int vline_set(const cchar_t *, int);
PDCEX int waddnwstr(WINDOW *, const wchar_t *, int);
PDCEX int waddwstr(WINDOW *, const wchar_t *);
PDCEX int wadd_wch(WINDOW *, const cchar_t *);
PDCEX int wadd_wchnstr(WINDOW *, const cchar_t *, int);
PDCEX int wadd_wchstr(WINDOW *, const cchar_t *);
PDCEX int wbkgrnd(WINDOW *, const cchar_t *);
PDCEX void wbkgrndset(WINDOW *, const cchar_t *);
PDCEX int wborder_set(WINDOW *, const cchar_t *, const cchar_t *,
const cchar_t *, const cchar_t *, const cchar_t *,
const cchar_t *, const cchar_t *, const cchar_t *);
PDCEX int wecho_wchar(WINDOW *, const cchar_t *);
PDCEX int wgetbkgrnd(WINDOW *, cchar_t *);
PDCEX int wgetn_wstr(WINDOW *, wint_t *, int);
PDCEX int wget_wch(WINDOW *, wint_t *);
PDCEX int wget_wstr(WINDOW *, wint_t *);
PDCEX int whline_set(WINDOW *, const cchar_t *, int);
PDCEX int winnwstr(WINDOW *, wchar_t *, int);
PDCEX int wins_nwstr(WINDOW *, const wchar_t *, int);
PDCEX int wins_wch(WINDOW *, const cchar_t *);
PDCEX int wins_wstr(WINDOW *, const wchar_t *);
PDCEX int winwstr(WINDOW *, wchar_t *);
PDCEX int win_wch(WINDOW *, cchar_t *);
PDCEX int win_wchnstr(WINDOW *, cchar_t *, int);
PDCEX int win_wchstr(WINDOW *, cchar_t *);
PDCEX wchar_t *wunctrl(cchar_t *);
PDCEX int wvline_set(WINDOW *, const cchar_t *, int);
#endif
/* Quasi-standard */
chtype getattrs(WINDOW *);
int getbegx(WINDOW *);
int getbegy(WINDOW *);
int getmaxx(WINDOW *);
int getmaxy(WINDOW *);
int getparx(WINDOW *);
int getpary(WINDOW *);
int getcurx(WINDOW *);
int getcury(WINDOW *);
void traceoff(void);
void traceon(void);
char *unctrl(chtype);
PDCEX chtype getattrs(WINDOW *);
PDCEX int getbegx(WINDOW *);
PDCEX int getbegy(WINDOW *);
PDCEX int getmaxx(WINDOW *);
PDCEX int getmaxy(WINDOW *);
PDCEX int getparx(WINDOW *);
PDCEX int getpary(WINDOW *);
PDCEX int getcurx(WINDOW *);
PDCEX int getcury(WINDOW *);
PDCEX void traceoff(void);
PDCEX void traceon(void);
PDCEX char *unctrl(chtype);
int crmode(void);
int nocrmode(void);
int draino(int);
int resetterm(void);
int fixterm(void);
int saveterm(void);
int setsyx(int, int);
PDCEX int crmode(void);
PDCEX int nocrmode(void);
PDCEX int draino(int);
PDCEX int resetterm(void);
PDCEX int fixterm(void);
PDCEX int saveterm(void);
PDCEX int setsyx(int, int);
int mouse_set(unsigned long);
int mouse_on(unsigned long);
int mouse_off(unsigned long);
int request_mouse_pos(void);
int map_button(unsigned long);
void wmouse_position(WINDOW *, int *, int *);
unsigned long getmouse(void);
unsigned long getbmap(void);
PDCEX int mouse_set(unsigned long);
PDCEX int mouse_on(unsigned long);
PDCEX int mouse_off(unsigned long);
PDCEX int request_mouse_pos(void);
PDCEX int map_button(unsigned long);
PDCEX void wmouse_position(WINDOW *, int *, int *);
PDCEX unsigned long getmouse(void);
PDCEX unsigned long getbmap(void);
/* ncurses */
int assume_default_colors(int, int);
const char *curses_version(void);
bool has_key(int);
int use_default_colors(void);
int wresize(WINDOW *, int, int);
PDCEX int assume_default_colors(int, int);
PDCEX const char *curses_version(void);
PDCEX bool has_key(int);
PDCEX int use_default_colors(void);
PDCEX int wresize(WINDOW *, int, int);
int mouseinterval(int);
mmask_t mousemask(mmask_t, mmask_t *);
bool mouse_trafo(int *, int *, bool);
int nc_getmouse(MEVENT *);
int ungetmouse(MEVENT *);
bool wenclose(const WINDOW *, int, int);
bool wmouse_trafo(const WINDOW *, int *, int *, bool);
PDCEX int mouseinterval(int);
PDCEX mmask_t mousemask(mmask_t, mmask_t *);
PDCEX bool mouse_trafo(int *, int *, bool);
PDCEX int nc_getmouse(MEVENT *);
PDCEX int ungetmouse(MEVENT *);
PDCEX bool wenclose(const WINDOW *, int, int);
PDCEX bool wmouse_trafo(const WINDOW *, int *, int *, bool);
/* PDCurses */
int addrawch(chtype);
int insrawch(chtype);
bool is_termresized(void);
int mvaddrawch(int, int, chtype);
int mvdeleteln(int, int);
int mvinsertln(int, int);
int mvinsrawch(int, int, chtype);
int mvwaddrawch(WINDOW *, int, int, chtype);
int mvwdeleteln(WINDOW *, int, int);
int mvwinsertln(WINDOW *, int, int);
int mvwinsrawch(WINDOW *, int, int, chtype);
int raw_output(bool);
int resize_term(int, int);
WINDOW *resize_window(WINDOW *, int, int);
int waddrawch(WINDOW *, chtype);
int winsrawch(WINDOW *, chtype);
char wordchar(void);
PDCEX int addrawch(chtype);
PDCEX int insrawch(chtype);
PDCEX bool is_termresized(void);
PDCEX int mvaddrawch(int, int, chtype);
PDCEX int mvdeleteln(int, int);
PDCEX int mvinsertln(int, int);
PDCEX int mvinsrawch(int, int, chtype);
PDCEX int mvwaddrawch(WINDOW *, int, int, chtype);
PDCEX int mvwdeleteln(WINDOW *, int, int);
PDCEX int mvwinsertln(WINDOW *, int, int);
PDCEX int mvwinsrawch(WINDOW *, int, int, chtype);
PDCEX int raw_output(bool);
PDCEX int resize_term(int, int);
PDCEX WINDOW *resize_window(WINDOW *, int, int);
PDCEX int waddrawch(WINDOW *, chtype);
PDCEX int winsrawch(WINDOW *, chtype);
PDCEX char wordchar(void);
#ifdef PDC_WIDE
wchar_t *slk_wlabel(int);
PDCEX wchar_t *slk_wlabel(int);
#endif
void PDC_debug(const char *, ...);
int PDC_ungetch(int);
int PDC_set_blink(bool);
int PDC_set_line_color(short);
void PDC_set_title(const char *);
PDCEX void PDC_debug(const char *, ...);
PDCEX int PDC_ungetch(int);
PDCEX int PDC_set_blink(bool);
PDCEX int PDC_set_line_color(short);
PDCEX void PDC_set_title(const char *);
int PDC_clearclipboard(void);
int PDC_freeclipboard(char *);
int PDC_getclipboard(char **, long *);
int PDC_setclipboard(const char *, long);
PDCEX int PDC_clearclipboard(void);
PDCEX int PDC_freeclipboard(char *);
PDCEX int PDC_getclipboard(char **, long *);
PDCEX int PDC_setclipboard(const char *, long);
unsigned long PDC_get_input_fd(void);
unsigned long PDC_get_key_modifiers(void);
int PDC_return_key_modifiers(bool);
int PDC_save_key_modifiers(bool);
void PDC_set_resize_limits( const int new_min_lines,
PDCEX unsigned long PDC_get_input_fd(void);
PDCEX unsigned long PDC_get_key_modifiers(void);
PDCEX int PDC_return_key_modifiers(bool);
PDCEX int PDC_save_key_modifiers(bool);
PDCEX void PDC_set_resize_limits( const int new_min_lines,
const int new_max_lines,
const int new_min_cols,
const int new_max_cols);
@ -1767,13 +1767,14 @@ void PDC_set_resize_limits( const int new_min_lines,
#define FUNCTION_KEY_ABORT 5
#define PDC_MAX_FUNCTION_KEYS 6
int PDC_set_function_key( const unsigned function,
PDCEX int PDC_set_function_key( const unsigned function,
const int new_key);
int PDC_set_preferred_fontface( const wchar_t* fontface);
void PDC_set_default_menu_visibility(int visible);
PDCEX int PDC_set_preferred_fontface( const wchar_t* fontface);
PDCEX void PDC_set_default_menu_visibility(int visible);
PDCEX WINDOW *Xinitscr(int, char **);
WINDOW *Xinitscr(int, char **);
#ifdef XCURSES
void XCursesExit(void);
int sb_init(void);
@ -1821,6 +1822,7 @@ int sb_refresh(void);
#define PDC_KEY_MODIFIER_CONTROL 2
#define PDC_KEY_MODIFIER_ALT 4
#define PDC_KEY_MODIFIER_NUMLOCK 8
#define PDC_KEY_MODIFIER_REPEAT 16
#if defined(__cplusplus) || defined(__cplusplus__) || defined(__CPLUSPLUS)
# undef bool

View File

@ -51,7 +51,7 @@ typedef struct /* structure for ripped off lines */
#define _DLCHAR 0x15 /* Delete Line char (^U) */
extern WINDOW *pdc_lastscr;
extern bool pdc_trace_on; /* tracing flag */
extern FILE *pdc_dbfp; /* tracing file pointer (NULL = off) */
extern bool pdc_color_started;
extern unsigned long pdc_key_modifiers;
extern MOUSE_STATUS pdc_mouse_status;
@ -106,7 +106,7 @@ size_t PDC_wcstombs(char *, const wchar_t *, size_t);
#endif
#ifdef PDCDEBUG
# define PDC_LOG(x) if (pdc_trace_on) PDC_debug x
# define PDC_LOG(x) if (pdc_dbfp) PDC_debug x
#else
# define PDC_LOG(x)
#endif
@ -126,7 +126,7 @@ size_t PDC_wcstombs(char *, const wchar_t *, size_t);
# define min(a,b) (((a) < (b)) ? (a) : (b))
#endif
#define DIVROUND(num, divisor) ((num) + ((divisor) >> 1)) / (divisor)
#define DIVROUND(num, divisor) (((num) + ((divisor) >> 1)) / (divisor))
#define PDC_CLICK_PERIOD 150 /* time to wait for a click, if
not set by mouseinterval() */

View File

@ -33,21 +33,21 @@ typedef struct panel
struct panelobs *obscure;
} PANEL;
int bottom_panel(PANEL *pan);
int del_panel(PANEL *pan);
int hide_panel(PANEL *pan);
int move_panel(PANEL *pan, int starty, int startx);
PANEL *new_panel(WINDOW *win);
PANEL *panel_above(const PANEL *pan);
PANEL *panel_below(const PANEL *pan);
int panel_hidden(const PANEL *pan);
const void *panel_userptr(const PANEL *pan);
WINDOW *panel_window(const PANEL *pan);
int replace_panel(PANEL *pan, WINDOW *win);
int set_panel_userptr(PANEL *pan, const void *uptr);
int show_panel(PANEL *pan);
int top_panel(PANEL *pan);
void update_panels(void);
PDCEX int bottom_panel(PANEL *pan);
PDCEX int del_panel(PANEL *pan);
PDCEX int hide_panel(PANEL *pan);
PDCEX int move_panel(PANEL *pan, int starty, int startx);
PDCEX PANEL *new_panel(WINDOW *win);
PDCEX PANEL *panel_above(const PANEL *pan);
PDCEX PANEL *panel_below(const PANEL *pan);
PDCEX int panel_hidden(const PANEL *pan);
PDCEX const void *panel_userptr(const PANEL *pan);
PDCEX WINDOW *panel_window(const PANEL *pan);
PDCEX int replace_panel(PANEL *pan, WINDOW *win);
PDCEX int set_panel_userptr(PANEL *pan, const void *uptr);
PDCEX int show_panel(PANEL *pan);
PDCEX int top_panel(PANEL *pan);
PDCEX void update_panels(void);
#if defined(__cplusplus) || defined(__cplusplus__) || defined(__CPLUSPLUS)
}

View File

@ -20,15 +20,8 @@ typedef struct
const char *_termname;
} TERMINAL;
#ifdef PDC_DLL_BUILD
# ifndef CURSES_LIBRARY
__declspec(dllimport) TERMINAL *cur_term;
# else
__declspec(dllexport) extern TERMINAL *cur_term;
# endif
#else
extern TERMINAL *cur_term;
#endif
/* PDCEX is defined in curses.h */
PDCEX TERMINAL *cur_term;
int del_curterm(TERMINAL *);
int putp(const char *);

View File

@ -23,6 +23,10 @@ debug
whether traceon() has been called. It's used from the PDC_LOG()
macro.
The environment variable PDC_TRACE_FLUSH controls whether the
trace file contents are fflushed after each write. The default
is not. Set it to 1 to enable this (may affect performance).
### Portability
X/Open BSD SYS V
traceon - - -
@ -31,53 +35,75 @@ debug
**man-end****************************************************************/
#include <stdlib.h>
#include <string.h>
#include <sys/types.h>
#include <time.h>
bool pdc_trace_on = FALSE;
FILE *pdc_dbfp = NULL;
static bool trace_on = FALSE;
static bool want_fflush = FALSE;
void PDC_debug(const char *fmt, ...)
{
va_list args;
FILE *dbfp;
char hms[9];
time_t now;
if (!pdc_trace_on)
return;
/* open debug log file append */
dbfp = fopen("trace", "a");
if (!dbfp)
{
fprintf(stderr,
"PDC_debug(): Unable to open debug log file\n");
if( !trace_on)
return;
if (!pdc_dbfp)
{
pdc_dbfp = fopen("trace", "a");
if (!pdc_dbfp)
{
fprintf(stderr,
"PDC_debug(): Unable to open debug log file\n");
return;
}
}
time(&now);
strftime(hms, 9, "%H:%M:%S", localtime(&now));
fprintf(dbfp, "At: %8.8ld - %s ", (long) clock(), hms);
fprintf(pdc_dbfp, "At: %8.8ld - %s ", (long) clock(), hms);
va_start(args, fmt);
vfprintf(dbfp, fmt, args);
vfprintf(pdc_dbfp, fmt, args);
va_end(args);
fclose(dbfp);
/* If you are crashing and losing debugging information, enable this
* by setting the environment variable PDC_TRACE_FLUSH to 1. This may
* impact performance.
*/
if (want_fflush)
fflush(pdc_dbfp);
/* If with PDC_TRACE_FLUSH enabled you are still losing logging in
* crashes, you may need to add a platform-dependent mechanism to flush
* the OS buffers as well (such as fsync() on POSIX) -- but expect
* terrible performance.
*/
}
void traceon(void)
{
PDC_LOG(("traceon() - called\n"));
char *env;
pdc_trace_on = TRUE;
trace_on = TRUE;
if ((env = getenv("PDC_TRACE_FLUSH")))
want_fflush = atoi(env);
PDC_LOG(("traceon() - called\n"));
}
void traceoff(void)
{
if (!pdc_dbfp)
return;
PDC_LOG(("traceoff() - called\n"));
pdc_trace_on = FALSE;
fclose(pdc_dbfp);
pdc_dbfp = NULL;
want_fflush = trace_on = FALSE;
}

View File

@ -81,7 +81,7 @@ int winsnstr(WINDOW *win, const char *str, int n)
if (!win || !str)
return ERR;
len = strlen(str);
len = (int)strlen(str);
if (n < 0 || n < len)
n = len;

View File

@ -74,7 +74,7 @@ int winnstr(WINDOW *win, char *str, int n)
if (winnwstr(win, wstr, n) == ERR)
return ERR;
return PDC_wcstombs(str, wstr, n);
return (int)PDC_wcstombs(str, wstr, n);
#else
chtype *src;
int i;
@ -176,7 +176,7 @@ int winnwstr(WINDOW *win, wchar_t *wstr, int n)
src = win->_y[win->_cury] + win->_curx;
for (i = 0; i < n; i++)
wstr[i] = src[i] & A_CHARTEXT;
wstr[i] = (wchar_t)src[i] & A_CHARTEXT;
wstr[i] = L'\0';

View File

@ -4,40 +4,45 @@
/*man-start**************************************************************
Name: clipboard
clipboard
---------
Synopsis:
int PDC_getclipboard(char **contents, long *length);
int PDC_setclipboard(const char *contents, long length);
int PDC_freeclipboard(char *contents);
int PDC_clearclipboard(void);
### Synopsis
Description:
PDC_getclipboard() gets the textual contents of the system's
clipboard. This function returns the contents of the clipboard
in the contents argument. It is the responsibility of the
caller to free the memory returned, via PDC_freeclipboard().
The length of the clipboard contents is returned in the length
argument.
int PDC_getclipboard(char **contents, long *length);
int PDC_setclipboard(const char *contents, long length);
int PDC_freeclipboard(char *contents);
int PDC_clearclipboard(void);
PDC_setclipboard copies the supplied text into the system's
clipboard, emptying the clipboard prior to the copy.
### Description
PDC_clearclipboard() clears the internal clipboard.
PDC_getclipboard() gets the textual contents of the system's
clipboard. This function returns the contents of the clipboard
in the contents argument. It is the responsibility of the
caller to free the memory returned, via PDC_freeclipboard().
The length of the clipboard contents is returned in the length
argument.
Return Values:
indicator of success/failure of call.
PDC_CLIP_SUCCESS the call was successful
PDC_CLIP_MEMORY_ERROR unable to allocate sufficient memory for
the clipboard contents
PDC_CLIP_EMPTY the clipboard contains no text
PDC_CLIP_ACCESS_ERROR no clipboard support
PDC_setclipboard copies the supplied text into the system's
clipboard, emptying the clipboard prior to the copy.
Portability X/Open BSD SYS V
PDC_getclipboard - - -
PDC_setclipboard - - -
PDC_freeclipboard - - -
PDC_clearclipboard - - -
PDC_clearclipboard() clears the internal clipboard.
### Return Values
indicator of success/failure of call.
PDC_CLIP_SUCCESS the call was successful
PDC_CLIP_MEMORY_ERROR unable to allocate sufficient memory for
the clipboard contents
PDC_CLIP_EMPTY the clipboard contains no text
PDC_CLIP_ACCESS_ERROR no clipboard support
### Portability
X/Open BSD SYS V
PDC_getclipboard - - -
PDC_setclipboard - - -
PDC_freeclipboard - - -
PDC_clearclipboard - - -
**man-end****************************************************************/
@ -107,37 +112,37 @@ int PDC_getclipboard(char **contents, long *length)
int PDC_setclipboard_raw( const char *contents, long length,
const bool translate_multibyte_to_wide_char)
{
HGLOBAL ptr1;
LPTSTR ptr2;
HGLOBAL handle;
LPTSTR buff;
PDC_LOG(("PDC_setclipboard() - called\n"));
if (!OpenClipboard(NULL))
return PDC_CLIP_ACCESS_ERROR;
ptr1 = GlobalAlloc(GMEM_MOVEABLE|GMEM_DDESHARE,
handle = GlobalAlloc(GMEM_MOVEABLE|GMEM_DDESHARE,
(length + 1) * sizeof(TCHAR));
if (!ptr1)
if (!handle)
return PDC_CLIP_MEMORY_ERROR;
ptr2 = GlobalLock(ptr1);
buff = GlobalLock(handle);
#ifdef PDC_WIDE
if( translate_multibyte_to_wide_char)
PDC_mbstowcs((wchar_t *)ptr2, contents, length);
PDC_mbstowcs((wchar_t *)buff, contents, length);
else
memcpy((char *)ptr2, contents, (length + 1) * sizeof( wchar_t));
memcpy((char *)buff, contents, (length + 1) * sizeof( wchar_t));
#else
memcpy((char *)ptr2, contents, length);
ptr2[length] = 0; /* ensure null termination */
memcpy((char *)buff, contents, length);
buff[length] = 0; /* ensure null termination */
#endif
GlobalUnlock(ptr1);
GlobalUnlock(handle);
EmptyClipboard();
if( !SetClipboardData(PDC_TEXT, ptr1))
if( !SetClipboardData(PDC_TEXT, handle))
{
GlobalFree(ptr1);
GlobalFree(handle);
return PDC_CLIP_ACCESS_ERROR;
}

View File

@ -241,7 +241,7 @@ int PDC_set_preferred_fontface( const TCHAR* fontface)
}
static int CALLBACK EnumFontCallback(
ENUMLOGFONT* lplf, NEWTEXTMETRIC* lpntm, DWORD type, LPVOID user)
const LOGFONT* lplf, const TEXTMETRIC* lpntm, DWORD type, LPARAM user)
{
/* we specified a filter in PDC_fontface_exists, so if we get here
at all, that means the font exists. */
@ -399,6 +399,11 @@ static COLORREF dimmed_color( COLORREF ival)
int PDC_expand_combined_characters( const cchar_t c, cchar_t *added); /* addch.c */
#endif
/* PDC_get_rgb_values(), extract_packed_rgb(), intensified_component(), */
/* intensified_color(), and dimmed_color() each exist in x11/x11.c, */
/* win32a/pdcdisp.c, and sdl2/pdcdisp.c in forms slightly modified for */
/* each platform. But they all look pretty much alike. */
/* PDCurses stores RGBs in fifteen bits, five bits each */
/* for red, green, blue. A COLORREF uses eight bits per */
/* channel. Hence the following. */

View File

@ -58,16 +58,11 @@ void PDC_add_clipboard_to_key_queue( void)
#ifdef PDC_WIDE
const long len = (long)wcslen((wchar_t *)handle);
#else
const long len = strlen((char *)handle);
const long len = (long)strlen((char *)handle);
#endif
clipboard_contents = (TCHAR *)calloc( len + 1, sizeof( TCHAR));
memcpy( clipboard_contents, (TCHAR *)handle, (len + 1) * sizeof( TCHAR));
#ifdef PDC_WIDE
printf( "ilen = %ld\n", len);
for( i = 0; i < len; i++)
printf( "%x ", clipboard_contents[i]);
#endif
CloseClipboard( );
for( i = j = 0; i < len; i++)
if( clipboard_contents[i] != 10)

View File

@ -711,8 +711,10 @@ static int set_mouse( const int button_index, const int button_state,
#ifndef WM_XBUTTONDOWN
#define WM_XBUTTONDOWN 0x020B
#define WM_XBUTTONUP 0x020C
#define MK_XBUTTON1 0x0020
#define MK_XBUTTON2 0x0040
#endif
#ifndef MK_XBUTTON1
#define MK_XBUTTON1 0x0020
#define MK_XBUTTON2 0x0040
#endif
#ifdef USE_FALLBACK_FONT
@ -1052,20 +1054,28 @@ PDC_argv, and will be used instead of GetCommandLine.
#ifdef __CYGWIN__
/* Can't lowercase Unicode text in Cygwin */
#define my_tcslwr
#elif defined _MSC_VER
#define my_tcslwr _wcslwr
#else
#define my_tcslwr wcslwr
#endif /* __CYGWIN__ */
#define my_tcscat wcscat
#define my_tcscpy wcscpy
#define my_stscanf swscanf
#else
#else /* UNICODE */
#define my_stprintf sprintf
#define my_tcslen strlen
#define my_tcslwr strlwr
#ifdef _MSC_VER
#define strlwr _strlwr
#endif
#define my_tcscat strcat
#define my_tcscpy strcpy
#define my_stscanf sscanf
#endif
#endif /* UNICODE */
static void get_app_name( TCHAR *buff, const bool include_args)
{
@ -1689,10 +1699,15 @@ static void HandleSyskeyDown( const WPARAM wParam, const LPARAM lParam,
const int repeated = (int)( lParam >> 30) & 1;
const KPTAB *kptr = kptab + wParam;
int key = 0;
static int repeat_count;
if( !repeated)
*ptr_modified_key_to_return = 0;
if( repeated)
repeat_count++;
else
repeat_count = 0;
if( SP->return_key_modifiers && !repeated)
{ /* See notes above this function */
if( wParam == VK_SHIFT)
@ -1765,6 +1780,9 @@ static void HandleSyskeyDown( const WPARAM wParam, const LPARAM lParam,
if( GetKeyState( VK_NUMLOCK) & 1)
pdc_key_modifiers |= PDC_KEY_MODIFIER_NUMLOCK;
if( repeat_count)
pdc_key_modifiers |= PDC_KEY_MODIFIER_REPEAT;
}
}
@ -2111,7 +2129,7 @@ static LRESULT ALIGN_STACK CALLBACK WndProc (const HWND hwnd,
modified_key_to_return = 0;
if( SP && (SP->_trap_mbe & remap_table[wParam]))
set_mouse( wParam, BUTTON_PRESSED, mouse_lParam);
set_mouse( (const int) wParam, BUTTON_PRESSED, mouse_lParam);
KillTimer( PDC_hWnd, (int)wParam);
mouse_buttons_pressed ^= (1 << wParam);
}
@ -2529,6 +2547,9 @@ int PDC_scr_open( int argc, char **argv)
SP->curscol = SP->cursrow = 0;
SP->audible = TRUE;
SP->mono = FALSE;
/* note: we parse the non-wide argc (see comment in header),
therefore using non-wide char handling here */
if( argc && argv) /* store a copy of the input arguments */
{
PDC_argc = argc;

View File

@ -45,7 +45,7 @@ const char *PDC_sysname(void)
return "Win32a";
}
const PDC_version_info PDC_version = { PDC_PORT_WIN32A,
PDC_version_info PDC_version = { PDC_PORT_WIN32A,
PDC_VER_MAJOR, PDC_VER_MINOR, PDC_VER_CHANGE,
sizeof( chtype),
#ifdef PDC_WIDE

View File

@ -147,7 +147,6 @@ int slk_init(int fmt)
break;
}
traceon( );
n_labels = 0;
for( i = abs( label_fmt); i; i /= 16)
n_labels += i % 16;
@ -158,7 +157,6 @@ int slk_init(int fmt)
free( slk);
slk = calloc(n_labels, sizeof(struct SLK));
PDC_LOG(( "New slk: %p; SP = %p\n", slk, SP));
traceoff( );
if (!slk)
n_labels = 0;