diff options
Diffstat (limited to 'scp.c')
-rw-r--r-- | scp.c | 10 |
1 files changed, 5 insertions, 5 deletions
@@ -75,7 +75,7 @@ | |||
75 | */ | 75 | */ |
76 | 76 | ||
77 | #include "includes.h" | 77 | #include "includes.h" |
78 | RCSID("$OpenBSD: scp.c,v 1.93 2002/11/26 00:45:03 wcobb Exp $"); | 78 | RCSID("$OpenBSD: scp.c,v 1.94 2002/11/27 17:53:35 markus Exp $"); |
79 | 79 | ||
80 | #include "xmalloc.h" | 80 | #include "xmalloc.h" |
81 | #include "atomicio.h" | 81 | #include "atomicio.h" |
@@ -370,7 +370,7 @@ toremote(targ, argc, argv) | |||
370 | if (*targ == 0) | 370 | if (*targ == 0) |
371 | targ = "."; | 371 | targ = "."; |
372 | 372 | ||
373 | if ((thost = strchr(argv[argc - 1], '@'))) { | 373 | if ((thost = strrchr(argv[argc - 1], '@'))) { |
374 | /* user@host */ | 374 | /* user@host */ |
375 | *thost++ = 0; | 375 | *thost++ = 0; |
376 | tuser = argv[argc - 1]; | 376 | tuser = argv[argc - 1]; |
@@ -391,7 +391,7 @@ toremote(targ, argc, argv) | |||
391 | *src++ = 0; | 391 | *src++ = 0; |
392 | if (*src == 0) | 392 | if (*src == 0) |
393 | src = "."; | 393 | src = "."; |
394 | host = strchr(argv[i], '@'); | 394 | host = strrchr(argv[i], '@'); |
395 | len = strlen(ssh_program) + strlen(argv[i]) + | 395 | len = strlen(ssh_program) + strlen(argv[i]) + |
396 | strlen(src) + (tuser ? strlen(tuser) : 0) + | 396 | strlen(src) + (tuser ? strlen(tuser) : 0) + |
397 | strlen(thost) + strlen(targ) + | 397 | strlen(thost) + strlen(targ) + |
@@ -470,7 +470,7 @@ tolocal(argc, argv) | |||
470 | *src++ = 0; | 470 | *src++ = 0; |
471 | if (*src == 0) | 471 | if (*src == 0) |
472 | src = "."; | 472 | src = "."; |
473 | if ((host = strchr(argv[i], '@')) == NULL) { | 473 | if ((host = strrchr(argv[i], '@')) == NULL) { |
474 | host = argv[i]; | 474 | host = argv[i]; |
475 | suser = NULL; | 475 | suser = NULL; |
476 | } else { | 476 | } else { |
@@ -1036,7 +1036,7 @@ okname(cp0) | |||
1036 | if (c & 0200) | 1036 | if (c & 0200) |
1037 | goto bad; | 1037 | goto bad; |
1038 | if (!isalpha(c) && !isdigit(c) && | 1038 | if (!isalpha(c) && !isdigit(c) && |
1039 | c != '_' && c != '-' && c != '.' && c != '+') | 1039 | c != '@' && c != '_' && c != '-' && c != '.' && c != '+') |
1040 | goto bad; | 1040 | goto bad; |
1041 | } while (*++cp); | 1041 | } while (*++cp); |
1042 | return (1); | 1042 | return (1); |