mirror of
https://git.tartarus.org/simon/putty.git
synced 2025-01-10 01:48:00 +00:00
Remove 'defused' parameter from wc_to_mb.
It's never set to anything but NULL at any call site, and there's been a FIXME comment in uxucs.c for ages saying it should be removed. I think it only existed in the first place because it was a facility supported by the underlying Windows API function and we couldn't see a reason _not_ to pass it through. But I'm cleaning up FIXMEs, so we should get rid of it. (It stood for 'default used', incidentally - as in 'did the function at any point have to make use of the parameter providing a default fallback character?'. Nothing to do with _defusing_ things :-)
This commit is contained in:
parent
461ade43d1
commit
07f99e6e82
@ -84,7 +84,7 @@ void luni_send(Ldisc *ldisc, const wchar_t *widebuf, int len, int interactive)
|
|||||||
} else {
|
} else {
|
||||||
int rv;
|
int rv;
|
||||||
rv = wc_to_mb(ldisc->term->ucsdata->line_codepage, 0, widebuf, len,
|
rv = wc_to_mb(ldisc->term->ucsdata->line_codepage, 0, widebuf, len,
|
||||||
linebuffer, linesize, NULL, NULL, ldisc->term->ucsdata);
|
linebuffer, linesize, NULL, ldisc->term->ucsdata);
|
||||||
if (rv >= 0)
|
if (rv >= 0)
|
||||||
p = linebuffer + rv;
|
p = linebuffer + rv;
|
||||||
else
|
else
|
||||||
|
2
putty.h
2
putty.h
@ -1294,7 +1294,7 @@ int is_dbcs_leadbyte(int codepage, char byte);
|
|||||||
int mb_to_wc(int codepage, int flags, const char *mbstr, int mblen,
|
int mb_to_wc(int codepage, int flags, const char *mbstr, int mblen,
|
||||||
wchar_t *wcstr, int wclen);
|
wchar_t *wcstr, int wclen);
|
||||||
int wc_to_mb(int codepage, int flags, const wchar_t *wcstr, int wclen,
|
int wc_to_mb(int codepage, int flags, const wchar_t *wcstr, int wclen,
|
||||||
char *mbstr, int mblen, const char *defchr, int *defused,
|
char *mbstr, int mblen, const char *defchr,
|
||||||
struct unicode_data *ucsdata);
|
struct unicode_data *ucsdata);
|
||||||
wchar_t xlat_uskbd2cyrllic(int ch);
|
wchar_t xlat_uskbd2cyrllic(int ch);
|
||||||
int check_compose(int first, int second);
|
int check_compose(int first, int second);
|
||||||
|
@ -595,7 +595,7 @@ static int x11font_has_glyph(unifont *font, wchar_t glyph)
|
|||||||
*/
|
*/
|
||||||
char sbstring[2];
|
char sbstring[2];
|
||||||
int sblen = wc_to_mb(xfont->real_charset, 0, &glyph, 1,
|
int sblen = wc_to_mb(xfont->real_charset, 0, &glyph, 1,
|
||||||
sbstring, 2, "", NULL, NULL);
|
sbstring, 2, "", NULL);
|
||||||
if (sblen == 0 || !sbstring[0])
|
if (sblen == 0 || !sbstring[0])
|
||||||
return FALSE; /* not even in the charset */
|
return FALSE; /* not even in the charset */
|
||||||
|
|
||||||
@ -950,7 +950,7 @@ static void x11font_draw_text(unifont_drawctx *ctx, unifont *font,
|
|||||||
*/
|
*/
|
||||||
char *sbstring = snewn(len+1, char);
|
char *sbstring = snewn(len+1, char);
|
||||||
int sblen = wc_to_mb(xfont->real_charset, 0, string, len,
|
int sblen = wc_to_mb(xfont->real_charset, 0, string, len,
|
||||||
sbstring, len+1, ".", NULL, NULL);
|
sbstring, len+1, ".", NULL);
|
||||||
x11font_really_draw_text(x11font_drawfuncs + index + 0, ctx,
|
x11font_really_draw_text(x11font_drawfuncs + index + 0, ctx,
|
||||||
&xfont->fonts[sfid], xfont->disp, x, y,
|
&xfont->fonts[sfid], xfont->disp, x, y,
|
||||||
sbstring, sblen, shadowoffset,
|
sbstring, sblen, shadowoffset,
|
||||||
@ -1631,7 +1631,7 @@ static void pangofont_draw_internal(unifont_drawctx *ctx, unifont *font,
|
|||||||
*/
|
*/
|
||||||
utfstring = snewn(len*6+1, char); /* UTF-8 has max 6 bytes/char */
|
utfstring = snewn(len*6+1, char); /* UTF-8 has max 6 bytes/char */
|
||||||
utflen = wc_to_mb(CS_UTF8, 0, string, len,
|
utflen = wc_to_mb(CS_UTF8, 0, string, len,
|
||||||
utfstring, len*6+1, ".", NULL, NULL);
|
utfstring, len*6+1, ".", NULL);
|
||||||
|
|
||||||
utfptr = utfstring;
|
utfptr = utfstring;
|
||||||
while (utflen > 0) {
|
while (utflen > 0) {
|
||||||
|
@ -3049,7 +3049,7 @@ void write_clip(Frontend *inst, int clipboard,
|
|||||||
state->pasteout_data_len = wc_to_mb(inst->ucsdata.line_codepage, 0,
|
state->pasteout_data_len = wc_to_mb(inst->ucsdata.line_codepage, 0,
|
||||||
data, len, state->pasteout_data,
|
data, len, state->pasteout_data,
|
||||||
state->pasteout_data_len,
|
state->pasteout_data_len,
|
||||||
NULL, NULL, NULL);
|
NULL, NULL);
|
||||||
if (state->pasteout_data_len == 0) {
|
if (state->pasteout_data_len == 0) {
|
||||||
sfree(state->pasteout_data);
|
sfree(state->pasteout_data);
|
||||||
state->pasteout_data = NULL;
|
state->pasteout_data = NULL;
|
||||||
|
@ -57,13 +57,9 @@ int mb_to_wc(int codepage, int flags, const char *mbstr, int mblen,
|
|||||||
}
|
}
|
||||||
|
|
||||||
int wc_to_mb(int codepage, int flags, const wchar_t *wcstr, int wclen,
|
int wc_to_mb(int codepage, int flags, const wchar_t *wcstr, int wclen,
|
||||||
char *mbstr, int mblen, const char *defchr, int *defused,
|
char *mbstr, int mblen, const char *defchr,
|
||||||
struct unicode_data *ucsdata)
|
struct unicode_data *ucsdata)
|
||||||
{
|
{
|
||||||
/* FIXME: we should remove the defused param completely... */
|
|
||||||
if (defused)
|
|
||||||
*defused = 0;
|
|
||||||
|
|
||||||
if (codepage == DEFAULT_CODEPAGE) {
|
if (codepage == DEFAULT_CODEPAGE) {
|
||||||
char output[MB_LEN_MAX];
|
char output[MB_LEN_MAX];
|
||||||
mbstate_t state;
|
mbstate_t state;
|
||||||
|
@ -1157,7 +1157,7 @@ void get_unitab(int codepage, wchar_t * unitab, int ftype)
|
|||||||
}
|
}
|
||||||
|
|
||||||
int wc_to_mb(int codepage, int flags, const wchar_t *wcstr, int wclen,
|
int wc_to_mb(int codepage, int flags, const wchar_t *wcstr, int wclen,
|
||||||
char *mbstr, int mblen, const char *defchr, int *defused,
|
char *mbstr, int mblen, const char *defchr,
|
||||||
struct unicode_data *ucsdata)
|
struct unicode_data *ucsdata)
|
||||||
{
|
{
|
||||||
char *p;
|
char *p;
|
||||||
@ -1180,7 +1180,6 @@ int wc_to_mb(int codepage, int flags, const wchar_t *wcstr, int wclen,
|
|||||||
int j;
|
int j;
|
||||||
for (j = 0; defchr[j]; j++)
|
for (j = 0; defchr[j]; j++)
|
||||||
*p++ = defchr[j];
|
*p++ = defchr[j];
|
||||||
if (defused) *defused = 1;
|
|
||||||
}
|
}
|
||||||
#if 1
|
#if 1
|
||||||
else
|
else
|
||||||
@ -1189,9 +1188,11 @@ int wc_to_mb(int codepage, int flags, const wchar_t *wcstr, int wclen,
|
|||||||
assert(p - mbstr < mblen);
|
assert(p - mbstr < mblen);
|
||||||
}
|
}
|
||||||
return p - mbstr;
|
return p - mbstr;
|
||||||
} else
|
} else {
|
||||||
|
int defused;
|
||||||
return WideCharToMultiByte(codepage, flags, wcstr, wclen,
|
return WideCharToMultiByte(codepage, flags, wcstr, wclen,
|
||||||
mbstr, mblen, defchr, defused);
|
mbstr, mblen, defchr, &defused);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
int mb_to_wc(int codepage, int flags, const char *mbstr, int mblen,
|
int mb_to_wc(int codepage, int flags, const char *mbstr, int mblen,
|
||||||
|
Loading…
Reference in New Issue
Block a user