commit - c37e1cfe6fd21e6a2adbecd132a186c8ee2b822a
commit + 8d8fb849cf1470dfafdb8a5cc598aa510fb8e5c6
blob - 420ce6ffd7afeceb2a9abe0530254a0d33a10a91
blob + a3c0e9b7eb542715c0bb63b83fd345d22f6473af
--- kamiftp/ftp.c
+++ kamiftp/ftp.c
exit(ret);
}
+static int
+nextfid(void)
+{
+ uint32_t i;
+
+ for (i = 0; ; ++i) {
+ if (i != pwdfid)
+ return i;
+ }
+}
+
static void
do_send(void)
{
char *errstr;
int nfid, miss;
- nfid = pwdfid+1;
+ nfid = nextfid();
errstr = walk_path(pwdfid, nfid, path, &miss, &qid);
if (errstr != NULL && miss > 1) {
printf("%s: %s\n", path, errstr);
return;
}
- nfid = pwdfid+1;
+ nfid = nextfid();
errstr = walk_path(pwdfid, nfid, argv[0], &miss, &qid);
if (errstr != NULL) {
printf("%s: %s\n", argv[0], errstr);
(ed = getenv("EDITOR")) == NULL)
ed = "ed";
- nfid = pwdfid+1;
+ nfid = nextfid();
errstr = walk_path(pwdfid, nfid, *argv, &miss, &qid);
if (errstr != NULL) {
printf("%s: %s\n", *argv, errstr);
else
l = argv[0];
- nfid = pwdfid+1;
+ nfid = nextfid();
errstr = walk_path(pwdfid, nfid, argv[0], &miss, &qid);
if (errstr != NULL) {
printf("%s: %s\n", argv[0], errstr);
if ((pager = getenv("PAGER")) == NULL)
pager = "less";
- nfid = pwdfid+1;
+ nfid = nextfid();
errstr = walk_path(pwdfid, nfid, *argv, &miss, &qid);
if (errstr != NULL) {
printf("%s: %s\n", *argv, errstr);
return;
}
- nfid = pwdfid+1;
+ nfid = nextfid();
errstr = walk_path(pwdfid, nfid, argv[0], &miss, &qid);
if (errstr != NULL) {
printf("%s: %s\n", argv[0], errstr);