dirh = fxp_opendir_recv(pktin);
dirh = fxp_opendir_recv(pktin, rreq);
int sftp_cmd_cd(struct sftp_command *cmd){    struct fxp_handle *dirh;    struct sftp_packet *pktin;    struct sftp_request *req, *rreq;    char *dir;    if (back == NULL) {	printf("psftp: not connected to a host; use \"open host.name\"\n");	return 0;    }    if (cmd->nwords < 2)	dir = dupstr(homedir);    else	dir = canonify(cmd->words[1]);    if (!dir) {	printf("%s: %s\n", dir, fxp_error());	return 0;    }    sftp_register(req = fxp_opendir_send(dir));    rreq = sftp_find_request(pktin = sftp_recv());    assert(rreq == req);    dirh = fxp_opendir_recv(pktin);    if (!dirh) {	printf("Directory %s: %s\n", dir, fxp_error());	sfree(dir);	return 0;    }    sftp_register(req = fxp_close_send(dirh));    rreq = sftp_find_request(pktin = sftp_recv());    assert(rreq == req);    fxp_close_recv(pktin);    sfree(pwd);    pwd = dir;    printf("Remote directory is now %s\n", pwd);    return 1;}