mirror of
https://git.tartarus.org/simon/putty.git
synced 2025-01-25 01:02:24 +00: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:
parent
f2319456bc
commit
a7f196263e
26
plink.c
26
plink.c
@ -591,6 +591,32 @@ int main(int argc, char **argv)
|
|||||||
usage();
|
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)
|
if (!*cfg.remote_cmd_ptr)
|
||||||
flags |= FLAG_INTERACTIVE;
|
flags |= FLAG_INTERACTIVE;
|
||||||
|
|
||||||
|
26
psftp.c
26
psftp.c
@ -1710,6 +1710,32 @@ int main(int argc, char *argv[])
|
|||||||
cfg.port = 22;
|
cfg.port = 22;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* 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';
|
||||||
|
|
||||||
/* Set username */
|
/* Set username */
|
||||||
if (user != NULL && user[0] != '\0') {
|
if (user != NULL && user[0] != '\0') {
|
||||||
strncpy(cfg.username, user, sizeof(cfg.username) - 1);
|
strncpy(cfg.username, user, sizeof(cfg.username) - 1);
|
||||||
|
26
scp.c
26
scp.c
@ -578,6 +578,32 @@ static void do_cmd(char *host, char *user, char *cmd)
|
|||||||
cfg.port = 22;
|
cfg.port = 22;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* 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';
|
||||||
|
|
||||||
/* Set username */
|
/* Set username */
|
||||||
if (user != NULL && user[0] != '\0') {
|
if (user != NULL && user[0] != '\0') {
|
||||||
strncpy(cfg.username, user, sizeof(cfg.username) - 1);
|
strncpy(cfg.username, user, sizeof(cfg.username) - 1);
|
||||||
|
Loading…
Reference in New Issue
Block a user