1
0
mirror of https://git.tartarus.org/simon/putty.git synced 2025-06-30 19:12:48 -05:00

The other utilities should do the same processing of the hostname

(parsing `user@' prefixes etc) that PuTTY proper does.

[originally from svn r1346]
This commit is contained in:
Simon Tatham
2001-10-30 21:45:27 +00:00
parent f2319456bc
commit a7f196263e
3 changed files with 78 additions and 0 deletions

26
plink.c
View File

@ -591,6 +591,32 @@ int main(int argc, char **argv)
usage();
}
/*
* Trim leading whitespace off the hostname if it's there.
*/
{
int space = strspn(cfg.host, " \t");
memmove(cfg.host, cfg.host+space, 1+strlen(cfg.host)-space);
}
/* See if host is of the form user@host */
if (cfg.host[0] != '\0') {
char *atsign = strchr(cfg.host, '@');
/* Make sure we're not overflowing the user field */
if (atsign) {
if (atsign - cfg.host < sizeof cfg.username) {
strncpy(cfg.username, cfg.host, atsign - cfg.host);
cfg.username[atsign - cfg.host] = '\0';
}
memmove(cfg.host, atsign + 1, 1 + strlen(atsign + 1));
}
}
/*
* Trim a colon suffix off the hostname if it's there.
*/
cfg.host[strcspn(cfg.host, ":")] = '\0';
if (!*cfg.remote_cmd_ptr)
flags |= FLAG_INTERACTIVE;