X-Git-Url: https://git.distorted.org.uk/~mdw/sgt/putty/blobdiff_plain/8faa456cf83ade45a6a2f33784d46b9963a0f77e..42ff63456ebf240dde7d6b7fc810183c5c8d74a9:/settings.c diff --git a/settings.c b/settings.c index 141e9b8e..6f7ea9cb 100644 --- a/settings.c +++ b/settings.c @@ -100,6 +100,7 @@ void save_settings(char *section, int do_host, Config * cfg) write_setting_i(sesskey, "AltOnly", cfg->alt_only); write_setting_i(sesskey, "ComposeKey", cfg->compose_key); write_setting_i(sesskey, "CtrlAltKeys", cfg->ctrlaltkeys); + write_setting_i(sesskey, "TelnetKey", cfg->telnet_keyboard); write_setting_i(sesskey, "LocalEcho", cfg->localecho); write_setting_i(sesskey, "LocalEdit", cfg->localedit); write_setting_s(sesskey, "Answerback", cfg->answerback); @@ -109,6 +110,7 @@ void save_settings(char *section, int do_host, Config * cfg) write_setting_i(sesskey, "CurType", cfg->cursor_type); write_setting_i(sesskey, "BlinkCur", cfg->blink_cur); write_setting_i(sesskey, "Beep", cfg->beep); + write_setting_i(sesskey, "BeepInd", cfg->beep_ind); write_setting_s(sesskey, "BellWaveFile", cfg->bell_wavefile); write_setting_i(sesskey, "BellOverload", cfg->bellovl); write_setting_i(sesskey, "BellOverloadN", cfg->bellovl_n); @@ -149,10 +151,7 @@ void save_settings(char *section, int do_host, Config * cfg) } write_setting_s(sesskey, buf, buf2); } - write_setting_i(sesskey, "KoiWinXlat", cfg->xlat_enablekoiwin); - write_setting_i(sesskey, "88592Xlat", cfg->xlat_88592w1250); - write_setting_i(sesskey, "88592-CP852", cfg->xlat_88592cp852); - write_setting_i(sesskey, "CapsLockCyr", cfg->xlat_capslockcyr); + write_setting_s(sesskey, "LineCodePage", cfg->line_codepage); write_setting_i(sesskey, "ScrollBar", cfg->scrollbar); write_setting_i(sesskey, "ScrollOnKey", cfg->scroll_on_key); write_setting_i(sesskey, "ScrollOnDisp", cfg->scroll_on_disp); @@ -161,6 +160,26 @@ void save_settings(char *section, int do_host, Config * cfg) write_setting_i(sesskey, "BlinkText", cfg->blinktext); write_setting_i(sesskey, "X11Forward", cfg->x11_forward); write_setting_s(sesskey, "X11Display", cfg->x11_display); + write_setting_i(sesskey, "LocalPortAcceptAll", cfg->lport_acceptall); + { + char buf[2 * sizeof(cfg->portfwd)], *p, *q; + p = buf; + q = cfg->portfwd; + while (*q) { + while (*q) { + int c = *q++; + if (c == '=' || c == ',' || c == '\\') + *p++ = '\\'; + if (c == '\t') + c = '='; + *p++ = c; + } + *p++ = ','; + q++; + } + *p = '\0'; + write_setting_s(sesskey, "PortForwardings", buf); + } close_settings_w(sesskey); } @@ -263,6 +282,7 @@ void load_settings(char *section, int do_host, Config * cfg) gppi(sesskey, "AltOnly", 0, &cfg->alt_only); gppi(sesskey, "ComposeKey", 0, &cfg->compose_key); gppi(sesskey, "CtrlAltKeys", 1, &cfg->ctrlaltkeys); + gppi(sesskey, "TelnetKey", 0, &cfg->telnet_keyboard); gppi(sesskey, "LocalEcho", LD_BACKEND, &cfg->localecho); gppi(sesskey, "LocalEdit", LD_BACKEND, &cfg->localedit); gpps(sesskey, "Answerback", "PuTTY", cfg->answerback, @@ -272,7 +292,9 @@ void load_settings(char *section, int do_host, Config * cfg) gppi(sesskey, "SunkenEdge", 0, &cfg->sunken_edge); gppi(sesskey, "CurType", 0, &cfg->cursor_type); gppi(sesskey, "BlinkCur", 0, &cfg->blink_cur); - gppi(sesskey, "Beep", 1, &cfg->beep); + /* pedantic compiler tells me I can't use &cfg->beep as an int * :-) */ + gppi(sesskey, "Beep", 1, &i); cfg->beep = i; + gppi(sesskey, "BeepInd", 0, &i); cfg->beep_ind = i; gpps(sesskey, "BellWaveFile", "", cfg->bell_wavefile, sizeof(cfg->bell_wavefile)); gppi(sesskey, "BellOverload", 1, &cfg->bellovl); @@ -351,10 +373,8 @@ void load_settings(char *section, int do_host, Config * cfg) cfg->wordness[j] = atoi(q); } } - gppi(sesskey, "KoiWinXlat", 0, &cfg->xlat_enablekoiwin); - gppi(sesskey, "88592Xlat", 0, &cfg->xlat_88592w1250); - gppi(sesskey, "88592-CP852", 0, &cfg->xlat_88592cp852); - gppi(sesskey, "CapsLockCyr", 0, &cfg->xlat_capslockcyr); + gpps(sesskey, "LineCodePage", "ISO-8859-1:1987", cfg->line_codepage, + sizeof(cfg->line_codepage)); gppi(sesskey, "ScrollBar", 1, &cfg->scrollbar); gppi(sesskey, "ScrollOnKey", 0, &cfg->scroll_on_key); gppi(sesskey, "ScrollOnDisp", 1, &cfg->scroll_on_disp); @@ -365,6 +385,28 @@ void load_settings(char *section, int do_host, Config * cfg) gpps(sesskey, "X11Display", "localhost:0", cfg->x11_display, sizeof(cfg->x11_display)); + gppi(sesskey, "LocalPortAcceptAll", 0, &cfg->lport_acceptall); + { + char buf[2 * sizeof(cfg->portfwd)], *p, *q; + gpps(sesskey, "PortForwardings", "", buf, sizeof(buf)); + p = buf; + q = cfg->portfwd; + while (*p) { + while (*p && *p != ',') { + int c = *p++; + if (c == '=') + c = '\t'; + if (c == '\\') + c = *p++; + *q++ = c; + } + if (*p == ',') + p++; + *q++ = '\0'; + } + *q = '\0'; + } + close_settings_r(sesskey); }