X-Git-Url: https://git.distorted.org.uk/~mdw/sgt/putty/blobdiff_plain/1d0d4a3be9a1fdaf3b34ed1a6ad51e3407ea3091..12bff6dc1d8d9d0eb9a20570216f87387cac59e9:/wincfg.c diff --git a/wincfg.c b/wincfg.c index 38e36abc..7e3d5c0a 100644 --- a/wincfg.c +++ b/wincfg.c @@ -37,6 +37,7 @@ void win_setup_config_box(struct controlbox *b, HWND *hwndp, int has_help, { struct controlset *s; union control *c; + char *str; if (!midsession) { /* @@ -128,19 +129,15 @@ void win_setup_config_box(struct controlbox *b, HWND *hwndp, int has_help, assert(c->generic.handler == dlg_stdradiobutton_handler); c->radio.nbuttons++; c->radio.buttons = - srealloc(c->radio.buttons, - c->radio.nbuttons * sizeof(*c->radio.buttons)); + sresize(c->radio.buttons, c->radio.nbuttons, char *); c->radio.buttons[c->radio.nbuttons-1] = dupstr("Play a custom sound file"); c->radio.buttondata = - srealloc(c->radio.buttondata, - c->radio.nbuttons * sizeof(*c->radio.buttondata)); + sresize(c->radio.buttondata, c->radio.nbuttons, intorptr); c->radio.buttondata[c->radio.nbuttons-1] = I(BELL_WAVEFILE); if (c->radio.shortcuts) { c->radio.shortcuts = - srealloc(c->radio.shortcuts, - (c->radio.nbuttons * - sizeof(*c->radio.shortcuts))); + sresize(c->radio.shortcuts, c->radio.nbuttons, char); c->radio.shortcuts[c->radio.nbuttons-1] = NO_SHORTCUT; } break; @@ -190,8 +187,9 @@ void win_setup_config_box(struct controlbox *b, HWND *hwndp, int has_help, * additional options when working with line-drawing * characters. */ - s = ctrl_getset(b, "Window/Translation", "linedraw", - "Adjust how PuTTY displays line drawing characters"); + str = dupprintf("Adjust how %s displays line drawing characters", appname); + s = ctrl_getset(b, "Window/Translation", "linedraw", str); + sfree(str); { int i; for (i = 0; i < s->ncontrols; i++) { @@ -199,32 +197,30 @@ void win_setup_config_box(struct controlbox *b, HWND *hwndp, int has_help, if (c->generic.type == CTRL_RADIO && c->generic.context.i == offsetof(Config, vtmode)) { assert(c->generic.handler == dlg_stdradiobutton_handler); - c->radio.nbuttons += 2; + c->radio.nbuttons += 3; c->radio.buttons = - srealloc(c->radio.buttons, - c->radio.nbuttons * sizeof(*c->radio.buttons)); + sresize(c->radio.buttons, c->radio.nbuttons, char *); + c->radio.buttons[c->radio.nbuttons-3] = + dupstr("Font has XWindows encoding"); c->radio.buttons[c->radio.nbuttons-2] = dupstr("Use font in both ANSI and OEM modes"); c->radio.buttons[c->radio.nbuttons-1] = dupstr("Use font in OEM mode only"); c->radio.buttondata = - srealloc(c->radio.buttondata, - c->radio.nbuttons * sizeof(*c->radio.buttondata)); + sresize(c->radio.buttondata, c->radio.nbuttons, intorptr); + c->radio.buttondata[c->radio.nbuttons-3] = I(VT_XWINDOWS); c->radio.buttondata[c->radio.nbuttons-2] = I(VT_OEMANSI); c->radio.buttondata[c->radio.nbuttons-1] = I(VT_OEMONLY); if (!c->radio.shortcuts) { int j; - c->radio.shortcuts = - smalloc((c->radio.nbuttons * - sizeof(*c->radio.shortcuts))); + c->radio.shortcuts = snewn(c->radio.nbuttons, char); for (j = 0; j < c->radio.nbuttons; j++) c->radio.shortcuts[j] = NO_SHORTCUT; } else { - c->radio.shortcuts = - srealloc(c->radio.shortcuts, - (c->radio.nbuttons * - sizeof(*c->radio.shortcuts))); + c->radio.shortcuts = sresize(c->radio.shortcuts, + c->radio.nbuttons, char); } + c->radio.shortcuts[c->radio.nbuttons-3] = 'x'; c->radio.shortcuts[c->radio.nbuttons-2] = 'b'; c->radio.shortcuts[c->radio.nbuttons-1] = 'e'; break;