- long posn;
- fseek(fp, 0L, SEEK_END);
- posn = ftell(fp);
- printf("reget: restarting at file position %ld\n", posn);
- offset = uint64_make(0, posn);
+ char decbuf[30];
+ if (seek_file(file, uint64_make(0,0) , FROM_END) == -1) {
+ 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);
+
+ return 0;
+ }
+
+ offset = get_file_posn(file);
+ uint64_decimal(offset, decbuf);
+ printf("reget: restarting at file position %s\n", decbuf);