Patch from Christian Biesinger: pscp guesses your Windows username by default

[originally from svn r836]
This commit is contained in:
Simon Tatham 2001-01-07 13:31:49 +00:00
Родитель d3f120884c
Коммит 826a464682
1 изменённых файлов: 10 добавлений и 1 удалений

11
scp.c
Просмотреть файл

@ -436,6 +436,7 @@ static int get_password(const char *prompt, char *str, int maxlen)
static void do_cmd(char *host, char *user, char *cmd)
{
char *err, *realhost;
DWORD namelen;
if (host == NULL || host[0] == '\0')
bump("Empty host name");
@ -455,7 +456,15 @@ static void do_cmd(char *host, char *user, char *cmd)
strncpy(cfg.username, user, sizeof(cfg.username)-1);
cfg.username[sizeof(cfg.username)-1] = '\0';
} else if (cfg.username[0] == '\0') {
bump("Empty user name");
namelen = 0;
if (GetUserName(user, &namelen) == FALSE)
bump("Empty user name");
user = malloc(namelen * sizeof(char));
GetUserName(user, &namelen);
if (verbose) tell_user(stderr, "Guessing user name: %s", user);
strncpy(cfg.username, user, sizeof(cfg.username)-1);
cfg.username[sizeof(cfg.username)-1] = '\0';
free(user);
}
if (cfg.protocol != PROT_SSH)