-#include <windows.h>
-
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
static unsigned long *dispcurs; /* location of cursor on real screen */
static unsigned long curstype; /* type of cursor on real screen */
-#define VBELL_TIMEOUT 100 /* millisecond len of visual bell */
+#define VBELL_TIMEOUT (TICKSPERSEC/10) /* visual bell lasts 1/10 sec */
struct beeptime {
struct beeptime *next;
* effective visual bell, so that ESC[?5hESC[?5l will
* always be an actually _visible_ visual bell.
*/
- ticks = GetTickCount();
+ ticks = GETTICKCOUNT();
/* turn off a previous vbell to avoid inconsistencies */
if (ticks - vbell_startpoint >= VBELL_TIMEOUT)
in_vbell = FALSE;
int len, size;
char c;
+ if (!printing && !only_printing)
+ return; /* we need do nothing */
+
term_print_flush();
while ((size = bufchain_size(&printer_buf)) > 0) {
bufchain_prefix(&printer_buf, &data, &len);
unget = -1;
+ chars = NULL; /* placate compiler warnings */
while (nchars > 0 || bufchain_size(&inbuf) > 0) {
if (unget == -1) {
if (nchars == 0) {
* buffer.
*/
if (printing) {
- char cc = c;
bufchain_add(&printer_buf, &c, 1);
/*
} else
*d++ = *s;
}
- lpage_send(CP_ACP, abuf, d - abuf, 0);
+ lpage_send(DEFAULT_CODEPAGE, abuf, d - abuf, 0);
}
break;
case '\007':
struct beeptime *newbeep;
unsigned long ticks;
- ticks = GetTickCount();
+ ticks = GETTICKCOUNT();
if (!beep_overloaded) {
newbeep = smalloc(sizeof(struct beeptime));
case ANSI_QUE('i'):
compatibility(VT100);
{
- int i;
if (esc_nargs != 1) break;
if (esc_args[0] == 5 && *cfg.printer) {
printing = TRUE;
* Check the visual bell state.
*/
if (in_vbell) {
- ticks = GetTickCount();
+ ticks = GETTICKCOUNT();
if (ticks - vbell_startpoint >= VBELL_TIMEOUT)
in_vbell = FALSE;
}
static long last_tblink = 0;
long now, blink_diff;
- now = GetTickCount();
+ now = GETTICKCOUNT();
blink_diff = now - last_tblink;
/* Make sure the text blinks no more than 2Hz */
blink_diff = now - last_blink;
- /* Make sure the cursor blinks no faster than GetCaretBlinkTime() */
- if (blink_diff >= 0 && blink_diff < (long) GetCaretBlinkTime())
+ /* Make sure the cursor blinks no faster than system blink rate */
+ if (blink_diff >= 0 && blink_diff < (long) CURSORBLINK)
return;
last_blink = now;
unsigned char buf[4];
WCHAR wbuf[4];
int rv;
- if (IsDBCSLeadByteEx(font_codepage, (BYTE) c)) {
+ if (is_dbcs_leadbyte(font_codepage, (BYTE) c)) {
buf[0] = c;
buf[1] = (unsigned char) ldata[top.x + 1];
- rv = MultiByteToWideChar(font_codepage,
- 0, buf, 2, wbuf, 4);
+ rv = mb_to_wc(font_codepage, 0, buf, 2, wbuf, 4);
top.x++;
} else {
buf[0] = c;
- rv = MultiByteToWideChar(font_codepage,
- 0, buf, 1, wbuf, 4);
+ rv = mb_to_wc(font_codepage, 0, buf, 1, wbuf, 4);
}
if (rv > 0) {
/* Don't wait forever to paste */
if (paste_hold) {
- now = GetTickCount();
+ now = GETTICKCOUNT();
paste_diff = now - last_paste;
if (paste_diff >= 0 && paste_diff < 450)
return;