version 1.139, 2006/03/25 13:17:02 |
version 1.140, 2006/04/01 05:42:20 |
|
|
#include "misc.h" |
#include "misc.h" |
#include "progressmeter.h" |
#include "progressmeter.h" |
|
|
int do_cmd(char *host, char *remuser, char *cmd, int *fdin, int *fdout, int argc); |
int do_cmd(char *host, char *remuser, char *cmd, int *fdin, int *fdout); |
|
|
void bwlimit(int); |
void bwlimit(int); |
|
|
|
|
*/ |
*/ |
|
|
int |
int |
do_cmd(char *host, char *remuser, char *cmd, int *fdin, int *fdout, int argc) |
do_cmd(char *host, char *remuser, char *cmd, int *fdin, int *fdout) |
{ |
{ |
int pin[2], pout[2], reserved[2]; |
int pin[2], pout[2], reserved[2]; |
|
|
|
|
|
|
BUF *allocbuf(BUF *, int, int); |
BUF *allocbuf(BUF *, int, int); |
void lostconn(int); |
void lostconn(int); |
void nospace(void); |
|
int okname(char *); |
int okname(char *); |
void run_err(const char *,...); |
void run_err(const char *,...); |
void verifydir(char *); |
void verifydir(char *); |
|
|
void |
void |
toremote(char *targ, int argc, char **argv) |
toremote(char *targ, int argc, char **argv) |
{ |
{ |
int i, len; |
|
char *bp, *host, *src, *suser, *thost, *tuser, *arg; |
char *bp, *host, *src, *suser, *thost, *tuser, *arg; |
arglist alist; |
arglist alist; |
|
size_t len; |
|
int i; |
|
|
memset(&alist, '\0', sizeof(alist)); |
memset(&alist, '\0', sizeof(alist)); |
alist.list = NULL; |
alist.list = NULL; |
|
|
(void) snprintf(bp, len, "%s -t %s", cmd, targ); |
(void) snprintf(bp, len, "%s -t %s", cmd, targ); |
host = cleanhostname(thost); |
host = cleanhostname(thost); |
if (do_cmd(host, tuser, bp, &remin, |
if (do_cmd(host, tuser, bp, &remin, |
&remout, argc) < 0) |
&remout) < 0) |
exit(1); |
exit(1); |
if (response() < 0) |
if (response() < 0) |
exit(1); |
exit(1); |
|
|
void |
void |
tolocal(int argc, char **argv) |
tolocal(int argc, char **argv) |
{ |
{ |
int i, len; |
|
char *bp, *host, *src, *suser; |
char *bp, *host, *src, *suser; |
arglist alist; |
arglist alist; |
|
size_t len; |
|
int i; |
|
|
memset(&alist, '\0', sizeof(alist)); |
memset(&alist, '\0', sizeof(alist)); |
alist.list = NULL; |
alist.list = NULL; |
|
|
len = strlen(src) + CMDNEEDS + 20; |
len = strlen(src) + CMDNEEDS + 20; |
bp = xmalloc(len); |
bp = xmalloc(len); |
(void) snprintf(bp, len, "%s -f %s", cmd, src); |
(void) snprintf(bp, len, "%s -f %s", cmd, src); |
if (do_cmd(host, suser, bp, &remin, &remout, argc) < 0) { |
if (do_cmd(host, suser, bp, &remin, &remout) < 0) { |
(void) xfree(bp); |
(void) xfree(bp); |
++errs; |
++errs; |
continue; |
continue; |
|
|
BUF *bp; |
BUF *bp; |
off_t i; |
off_t i; |
size_t j, count; |
size_t j, count; |
int amt, exists, first, mask, mode, ofd, omode; |
int amt, exists, first, ofd; |
|
mode_t mode, omode, mask; |
off_t size, statbytes; |
off_t size, statbytes; |
int setimes, targisdir, wrerrno = 0; |
int setimes, targisdir, wrerrno = 0; |
char ch, *cp, *np, *targ, *why, *vect[1], buf[2048]; |
char ch, *cp, *np, *targ, *why, *vect[1], buf[2048]; |