ret = fxp_stat_recv(pktin, &attrs);
ret = fxp_stat_recv(pktin, rreq, &attrs);
void scp_source_setup(char *target, int shouldbedir){    if (using_sftp) {	/*	 * Find out whether the target filespec is in fact a	 * directory.	 */	struct sftp_packet *pktin;	struct sftp_request *req, *rreq;	struct fxp_attrs attrs;	int ret;	if (!fxp_init()) {	    tell_user(stderr, "unable to initialise SFTP: %s", fxp_error());	    errs++;	    return;	}	sftp_register(req = fxp_stat_send(target));	rreq = sftp_find_request(pktin = sftp_recv());	assert(rreq == req);	ret = fxp_stat_recv(pktin, &attrs);	if (!ret || !(attrs.flags & SSH_FILEXFER_ATTR_PERMISSIONS))	    scp_sftp_targetisdir = 0;	else	    scp_sftp_targetisdir = (attrs.permissions & 0040000) != 0;	if (shouldbedir && !scp_sftp_targetisdir) {	    bump("pscp: remote filespec %s: not a directory\n", target);	}	scp_sftp_remotepath = dupstr(target);	scp_has_times = 0;    } else {	(void) response();    }}