sfree(req);
struct fxp_names *fxp_readdir_recv(struct sftp_packet *pktin){    if (pktin->type == SSH_FXP_NAME) {	struct fxp_names *ret;	int i;	ret = snew(struct fxp_names);	ret->nnames = sftp_pkt_getuint32(pktin);	ret->names = snewn(ret->nnames, struct fxp_name);	for (i = 0; i < ret->nnames; i++) {	    char *str;	    int len;	    sftp_pkt_getstring(pktin, &str, &len);	    ret->names[i].filename = mkstr(str, len);	    sftp_pkt_getstring(pktin, &str, &len);	    ret->names[i].longname = mkstr(str, len);	    ret->names[i].attrs = sftp_pkt_getattrs(pktin);	}        sftp_pkt_free(pktin);	return ret;    } else {	fxp_got_status(pktin);        sftp_pkt_free(pktin);	return NULL;    }}