if (restart) {
char decbuf[30];
if (seek_file(file, uint64_make(0,0) , FROM_END) == -1) {
+ close_wfile(file);
printf("reget: cannot restart %s - file too large\n",
outfname);
- sftp_register(req = fxp_close_send(fh));
- rreq = sftp_find_request(pktin = sftp_recv());
- assert(rreq == req);
- fxp_close_recv(pktin, rreq);
+ sftp_register(req = fxp_close_send(fh));
+ rreq = sftp_find_request(pktin = sftp_recv());
+ assert(rreq == req);
+ fxp_close_recv(pktin, rreq);
- return 0;
+ return 0;
}
offset = get_file_posn(file);
fh = fxp_open_recv(pktin, rreq);
if (!fh) {
+ close_rfile(file);
printf("%s: open for write: %s\n", outfname, fxp_error());
return 0;
}
ret = fxp_fstat_recv(pktin, rreq, &attrs);
if (!ret) {
+ close_rfile(file);
printf("read size of %s: %s\n", outfname, fxp_error());
return 0;
}
if (!(attrs.flags & SSH_FILEXFER_ATTR_SIZE)) {
+ close_rfile(file);
printf("read size of %s: size was not given\n", outfname);
return 0;
}