1
0
mirror of https://git.tartarus.org/simon/putty.git synced 2025-01-09 17:38:00 +00:00

Implement Marcin Bulandra's suggestion of only automatically updating the

port number in the GUI when the connection type is changed if the current
port number is the standard one for the current protocol.
It's not perfect, but it should make the common case of tabbing through the
Session panel easier when starting non-SSH connections on odd ports.

[originally from svn r7635]
This commit is contained in:
Jacob Nevins 2007-07-01 15:47:31 +00:00
parent 6c14388c1d
commit db7cc1cba6
6 changed files with 20 additions and 15 deletions

View File

@ -90,7 +90,7 @@ struct hostport {
void config_protocolbuttons_handler(union control *ctrl, void *dlg,
void *data, int event)
{
int button, defport;
int button;
Config *cfg = (Config *)data;
struct hostport *hp = (struct hostport *)ctrl->radio.context.p;
@ -114,15 +114,20 @@ void config_protocolbuttons_handler(union control *ctrl, void *dlg,
assert(button >= 0 && button < ctrl->radio.nbuttons);
cfg->protocol = ctrl->radio.buttondata[button].i;
if (oldproto != cfg->protocol) {
defport = -1;
switch (cfg->protocol) {
case PROT_SSH: defport = 22; break;
case PROT_TELNET: defport = 23; break;
case PROT_RLOGIN: defport = 513; break;
}
if (defport > 0 && cfg->port != defport) {
cfg->port = defport;
}
Backend *ob = backend_from_proto(oldproto);
Backend *nb = backend_from_proto(cfg->protocol);
assert(ob);
assert(nb);
/* Iff the user hasn't changed the port from the protocol
* default (if any), update it with the new protocol's
* default.
* (XXX: this isn't perfect; a default can become permanent
* by going via the serial backend. However, it helps with
* the common case of tabbing through the controls in order
* and setting a non-default port.) */
if (cfg->port == ob->default_port &&
cfg->port > 0 && nb->default_port > 0)
cfg->port = nb->default_port;
}
dlg_refresh(hp->host, dlg);
dlg_refresh(hp->port, dlg);

2
raw.c
View File

@ -280,5 +280,5 @@ Backend raw_backend = {
raw_cfg_info,
"raw",
PROT_RAW,
1
0
};

View File

@ -351,5 +351,5 @@ Backend rlogin_backend = {
rlogin_cfg_info,
"rlogin",
PROT_RLOGIN,
1
513
};

View File

@ -1087,5 +1087,5 @@ Backend pty_backend = {
pty_cfg_info,
"pty",
-1,
1
0
};

View File

@ -538,5 +538,5 @@ Backend serial_backend = {
serial_cfg_info,
"serial",
PROT_SERIAL,
1
0
};

View File

@ -456,5 +456,5 @@ Backend serial_backend = {
serial_cfg_info,
"serial",
PROT_SERIAL,
1
0
};