X-Git-Url: https://asedeno.scripts.mit.edu/gitweb/?a=blobdiff_plain;f=sftp.c;h=5685c79ea7a68c2b02945c54cef15721efc72a8a;hb=2a2434e0cc91492ce56ce4360aacb7737bb1eebe;hp=591b60ba1f0d1cf15ed814d11cfc0ee5adec04e0;hpb=5c42f97b68aa843693088d398ced48d03922ed9a;p=PuTTY.git diff --git a/sftp.c b/sftp.c index 591b60ba..5685c79e 100644 --- a/sftp.c +++ b/sftp.c @@ -352,6 +352,7 @@ void sftp_register(struct sftp_request *req) struct sftp_request *sftp_find_request(struct sftp_packet *pktin) { unsigned long id; + unsigned fid; struct sftp_request *req; if (!pktin) { @@ -363,7 +364,8 @@ struct sftp_request *sftp_find_request(struct sftp_packet *pktin) fxp_internal_error("did not receive a valid SFTP packet\n"); return NULL; } - req = find234(sftp_requests, &id, sftp_reqfind); + fid = (unsigned)id; + req = find234(sftp_requests, &fid, sftp_reqfind); if (!req || !req->registered) { fxp_internal_error("request ID mismatch\n"); @@ -656,11 +658,12 @@ struct sftp_request *fxp_close_send(struct fxp_handle *handle) return req; } -void fxp_close_recv(struct sftp_packet *pktin, struct sftp_request *req) +int fxp_close_recv(struct sftp_packet *pktin, struct sftp_request *req) { sfree(req); fxp_got_status(pktin); sftp_pkt_free(pktin); + return fxp_errtype == SSH_FX_OK; } struct sftp_request *fxp_mkdir_send(const char *path)