version 1.18, 2001/07/14 15:10:16 |
version 1.19, 2001/12/19 07:18:56 |
|
|
*dir = xmalloc(sizeof(**dir)); |
*dir = xmalloc(sizeof(**dir)); |
(*dir)[0] = NULL; |
(*dir)[0] = NULL; |
} |
} |
|
|
|
|
for(;;) { |
for (;;) { |
int count; |
int count; |
|
|
id = expected_id = msg_id++; |
id = expected_id = msg_id++; |
|
|
if (count == 0) |
if (count == 0) |
break; |
break; |
debug3("Received %d SSH2_FXP_NAME responses", count); |
debug3("Received %d SSH2_FXP_NAME responses", count); |
for(i = 0; i < count; i++) { |
for (i = 0; i < count; i++) { |
char *filename, *longname; |
char *filename, *longname; |
Attrib *a; |
Attrib *a; |
|
|
|
|
void free_sftp_dirents(SFTP_DIRENT **s) |
void free_sftp_dirents(SFTP_DIRENT **s) |
{ |
{ |
int i; |
int i; |
|
|
for(i = 0; s[i]; i++) { |
for (i = 0; s[i]; i++) { |
xfree(s[i]->filename); |
xfree(s[i]->filename); |
xfree(s[i]->longname); |
xfree(s[i]->longname); |
xfree(s[i]); |
xfree(s[i]); |
|
|
|
|
/* Read from remote and write to local */ |
/* Read from remote and write to local */ |
offset = 0; |
offset = 0; |
for(;;) { |
for (;;) { |
u_int len; |
u_int len; |
char *data; |
char *data; |
|
|
|
|
else { |
else { |
error("Couldn't read from remote " |
error("Couldn't read from remote " |
"file \"%s\" : %s", remote_path, |
"file \"%s\" : %s", remote_path, |
fx2txt(status)); |
fx2txt(status)); |
do_close(fd_in, fd_out, handle, handle_len); |
do_close(fd_in, fd_out, handle, handle_len); |
goto done; |
goto done; |
} |
} |
|
|
|
|
/* Read from local and write to remote */ |
/* Read from local and write to remote */ |
offset = 0; |
offset = 0; |
for(;;) { |
for (;;) { |
int len; |
int len; |
char data[COPY_SIZE]; |
char data[COPY_SIZE]; |
|
|