projects
/
u
/
mdw
/
putty
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Major destabilisation, phase 1. In this phase I've moved (I think)
[u/mdw/putty]
/
unicode.c
diff --git
a/unicode.c
b/unicode.c
index
90faf59
..
182e244
100644
(file)
--- a/
unicode.c
+++ b/
unicode.c
@@
-1,4
+1,6
@@
+#ifdef WINDOWS
#include <windows.h>
#include <windows.h>
+#endif
#include <stdio.h>
#include <stdlib.h>
#include <stdio.h>
#include <stdlib.h>
@@
-6,6
+8,7
@@
#include <time.h>
#include "putty.h"
#include <time.h>
#include "putty.h"
+#include "terminal.h"
#include "misc.h"
/* Character conversion arrays; they are usually taken from windows,
#include "misc.h"
/* Character conversion arrays; they are usually taken from windows,
@@
-612,8
+615,7
@@
void lpage_send(int codepage, char *buf, int len, int interactive)
widesize = len * 2;
}
widesize = len * 2;
}
- wclen =
- MultiByteToWideChar(codepage, 0, buf, len, widebuffer, widesize);
+ wclen = mb_to_wc(codepage, 0, buf, len, widebuffer, widesize);
luni_send(widebuffer, wclen, interactive);
}
luni_send(widebuffer, wclen, interactive);
}
@@
-621,7
+623,7
@@
void luni_send(wchar_t * widebuf, int len, int interactive)
{
static char *linebuffer = 0;
static int linesize = 0;
{
static char *linebuffer = 0;
static int linesize = 0;
- int ratio = (in_utf)?3:1;
+ int ratio = (in_utf
(term)
)?3:1;
int i;
char *p;
int i;
char *p;
@@
-631,7
+633,7
@@
void luni_send(wchar_t * widebuf, int len, int interactive)
linesize = len * ratio * 2;
}
linesize = len * ratio * 2;
}
- if (in_utf) {
+ if (in_utf
(term)
) {
/* UTF is a simple algorithm */
for (p = linebuffer, i = 0; i < len; i++) {
wchar_t ch = widebuf[i];
/* UTF is a simple algorithm */
for (p = linebuffer, i = 0; i < len; i++) {
wchar_t ch = widebuf[i];
@@
-651,8
+653,8
@@
void luni_send(wchar_t * widebuf, int len, int interactive)
}
} else if (!uni_tbl) {
int rv;
}
} else if (!uni_tbl) {
int rv;
- rv =
WideCharToMultiByte
(line_codepage, 0, widebuf, len,
-
linebuffer, linesize, NULL, NULL);
+ rv =
wc_to_mb
(line_codepage, 0, widebuf, len,
+ linebuffer, linesize, NULL, NULL);
if (rv >= 0)
p = linebuffer + rv;
else
if (rv >= 0)
p = linebuffer + rv;
else
@@
-1241,7
+1243,7
@@
void get_unitab(int codepage, wchar_t * unitab, int ftype)
for (i = 0; i < max; i++) {
tbuf[0] = i;
for (i = 0; i < max; i++) {
tbuf[0] = i;
- if (
MultiByteToWideChar
(codepage, flg, tbuf, 1, unitab + i, 1)
+ if (
mb_to_wc
(codepage, flg, tbuf, 1, unitab + i, 1)
!= 1)
unitab[i] = 0xFFFD;
}
!= 1)
unitab[i] = 0xFFFD;
}