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,
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);
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 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 *,
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 *);
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 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)
if( !trace_on)
return;
/* open debug log file append */
dbfp = fopen("trace", "a");
if (!dbfp)
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,15 +4,18 @@
/*man-start**************************************************************
Name: clipboard
clipboard
---------
### Synopsis
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);
Description:
### 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
@ -25,7 +28,8 @@
PDC_clearclipboard() clears the internal clipboard.
Return Values:
### 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
@ -33,7 +37,8 @@
PDC_CLIP_EMPTY the clipboard contains no text
PDC_CLIP_ACCESS_ERROR no clipboard support
Portability X/Open BSD SYS V
### Portability
X/Open BSD SYS V
PDC_getclipboard - - -
PDC_setclipboard - - -
PDC_freeclipboard - - -
@ -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,6 +711,8 @@ static int set_mouse( const int button_index, const int button_state,
#ifndef WM_XBUTTONDOWN
#define WM_XBUTTONDOWN 0x020B
#define WM_XBUTTONUP 0x020C
#endif
#ifndef MK_XBUTTON1
#define MK_XBUTTON1 0x0020
#define MK_XBUTTON2 0x0040
#endif
@ -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;