commit - 43d117b11c4c66b698f136129c597c051c69f6a3
commit + 1bb1bfca8878efcab2568f1f41e010e0be1f5e24
blob - 1401f83be897be2085fae1ceff14d781238fcc44
blob + 7b2755a8c648c74994efabb1de0a73f70ef6e010
--- kamiftp/ftp.c
+++ kamiftp/ftp.c
ASSERT_EMPTYBUF();
}
-static void
+static char *
dup_fid(int fid, int nfid)
{
uint16_t nwqid;
+ char *errstr;
twalk(fid, nfid, NULL, 0);
do_send();
recv_msg();
- expect2(Rwalk, iota_tag);
+ if ((errstr = check(Rwalk, iota_tag)) != NULL)
+ return errstr;
+
nwqid = np_read16(buf);
assert(nwqid == 0);
ASSERT_EMPTYBUF();
+
+ return NULL;
}
static char *
struct np_stat st;
uint64_t off = 0;
uint32_t len;
- char fmt[FMT_SCALED_STRSIZE];
+ char fmt[FMT_SCALED_STRSIZE], *errstr;
if (argc != 0) {
printf("ls don't take arguments (yet)\n");
return;
}
- dup_fid(pwdfid, 1);
+ if ((errstr = dup_fid(pwdfid, 1)) != NULL) {
+ printf(".: %s\n", errstr);
+ free(errstr);
+ return;
+ }
+
do_open(1, KOREAD);
evbuffer_drain(dirbuf, EVBUFFER_LENGTH(dirbuf));