summaryrefslogtreecommitdiffstats
path: root/crypto/openssh/scp.c
diff options
context:
space:
mode:
authordes <des@FreeBSD.org>2005-06-05 15:46:09 +0000
committerdes <des@FreeBSD.org>2005-06-05 15:46:09 +0000
commit983ad11a1c78949e86a0f51f51ef0d614cc5e665 (patch)
tree7d41ca8690f59b7463bd4d5fefde78dac8a00e60 /crypto/openssh/scp.c
parent3c5bc6b274083ffa3a7aa67e87c8936a1778eff5 (diff)
downloadFreeBSD-src-983ad11a1c78949e86a0f51f51ef0d614cc5e665.zip
FreeBSD-src-983ad11a1c78949e86a0f51f51ef0d614cc5e665.tar.gz
Resolve conflicts.
Diffstat (limited to 'crypto/openssh/scp.c')
-rw-r--r--crypto/openssh/scp.c17
1 files changed, 10 insertions, 7 deletions
diff --git a/crypto/openssh/scp.c b/crypto/openssh/scp.c
index ef9eaa1..1d34cc6 100644
--- a/crypto/openssh/scp.c
+++ b/crypto/openssh/scp.c
@@ -71,7 +71,7 @@
*/
#include "includes.h"
-RCSID("$OpenBSD: scp.c,v 1.117 2004/08/11 21:44:32 avsm Exp $");
+RCSID("$OpenBSD: scp.c,v 1.121 2005/04/02 12:41:16 djm Exp $");
#include "xmalloc.h"
#include "atomicio.h"
@@ -108,8 +108,10 @@ pid_t do_cmd_pid = -1;
static void
killchild(int signo)
{
- if (do_cmd_pid > 1)
+ if (do_cmd_pid > 1) {
kill(do_cmd_pid, signo);
+ waitpid(do_cmd_pid, NULL, 0);
+ }
_exit(1);
}
@@ -359,20 +361,21 @@ void
toremote(char *targ, int argc, char **argv)
{
int i, len;
- char *bp, *host, *src, *suser, *thost, *tuser;
+ char *bp, *host, *src, *suser, *thost, *tuser, *arg;
*targ++ = 0;
if (*targ == 0)
targ = ".";
- if ((thost = strrchr(argv[argc - 1], '@'))) {
+ arg = xstrdup(argv[argc - 1]);
+ if ((thost = strrchr(arg, '@'))) {
/* user@host */
*thost++ = 0;
- tuser = argv[argc - 1];
+ tuser = arg;
if (*tuser == '\0')
tuser = NULL;
} else {
- thost = argv[argc - 1];
+ thost = arg;
tuser = NULL;
}
@@ -726,7 +729,7 @@ sink(int argc, char **argv)
#define atime tv[0]
#define mtime tv[1]
-#define SCREWUP(str) do { why = str; goto screwup; } while (0)
+#define SCREWUP(str) { why = str; goto screwup; }
setimes = targisdir = 0;
mask = umask(0);
OpenPOWER on IntegriCloud