X-Git-Url: https://git.distorted.org.uk/u/mdw/putty/blobdiff_plain/74cea548874cbfd7f90834dca6e73e63a42bd6d8..e35fb54b2ce23c668414c0f5cd072c709374fc6d:/ldiscucs.c diff --git a/ldiscucs.c b/ldiscucs.c index 2e19adcc..4ac28d7e 100644 --- a/ldiscucs.c +++ b/ldiscucs.c @@ -26,7 +26,7 @@ void lpage_send(void *handle, } widesize = len * 2; - widebuffer = smalloc(widesize * sizeof(wchar_t)); + widebuffer = snewn(widesize, wchar_t); wclen = mb_to_wc(codepage, 0, buf, len, widebuffer, widesize); luni_send(ldisc, widebuffer, wclen, interactive); @@ -44,7 +44,7 @@ void luni_send(void *handle, wchar_t * widebuf, int len, int interactive) char *p; linesize = len * ratio * 2; - linebuffer = smalloc(linesize * sizeof(wchar_t)); + linebuffer = snewn(linesize, char); if (in_utf(ldisc->term)) { /* UTF is a simple algorithm */ @@ -66,8 +66,8 @@ void luni_send(void *handle, wchar_t * widebuf, int len, int interactive) } } else { int rv; - rv = wc_to_mb(line_codepage, 0, widebuf, len, - linebuffer, linesize, NULL, NULL); + rv = wc_to_mb(ldisc->term->ucsdata->line_codepage, 0, widebuf, len, + linebuffer, linesize, NULL, NULL, ldisc->term->ucsdata); if (rv >= 0) p = linebuffer + rv; else