Dolda2000 GitWeb
/
doldaconnect.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Add trytransferbypeer.
[doldaconnect.git]
/
daemon
/
ui.c
diff --git
a/daemon/ui.c
b/daemon/ui.c
index
09a6dcf
..
94241e7
100644
(file)
--- a/
daemon/ui.c
+++ b/
daemon/ui.c
@@
-558,6
+558,7
@@
static void cmd_fnetconnect(struct socket *sk, struct uidata *data, int argc, wc
char *buf;
int err;
struct fnetnode *fn;
char *buf;
int err;
struct fnetnode *fn;
+ struct wcspair *args;
haveargs(3);
havepriv(PERM_FNETCTL);
haveargs(3);
havepriv(PERM_FNETCTL);
@@
-566,7
+567,10
@@
static void cmd_fnetconnect(struct socket *sk, struct uidata *data, int argc, wc
sq(sk, 0, L"504", L"Could not convert data to locale charset", NULL);
return;
}
sq(sk, 0, L"504", L"Could not convert data to locale charset", NULL);
return;
}
- fn = fnetinitconnect(argv[1], buf);
+ args = NULL;
+ for(i = 3; i < argc - 1; i += 2)
+ newwcspair(argv[i], argv[i + 1], &args);
+ fn = fnetinitconnect(argv[1], buf, args);
err = errno;
free(buf);
if(fn == NULL)
err = errno;
free(buf);
if(fn == NULL)
@@
-577,11
+581,6
@@
static void cmd_fnetconnect(struct socket *sk, struct uidata *data, int argc, wc
sq(sk, 0, L"509", L"Could not parse the address", L"%%s", strerror(err), NULL);
return;
}
sq(sk, 0, L"509", L"Could not parse the address", L"%%s", strerror(err), NULL);
return;
}
- for(i = 3; i < argc - 1; i += 2)
- {
- if(!wcscmp(argv[i], L"nick"))
- fnetsetnick(fn, argv[i + 1]);
- }
linkfnetnode(fn);
fnetsetname(fn, argv[2]);
putfnetnode(fn);
linkfnetnode(fn);
fnetsetname(fn, argv[2]);
putfnetnode(fn);
@@
-745,7
+744,7
@@
static void cmd_download(struct socket *sk, struct uidata *data, int argc, wchar
{
transfersethash(transfer, parsehash(argv[i + 1]));
} else {
{
transfersethash(transfer, parsehash(argv[i + 1]));
} else {
-
transferaddarg(transfer, argv[i], argv[i + 1]
);
+
newwcspair(argv[i], argv[i + 1], &transfer->args
);
}
}
}
}
}
}
@@
-1164,7
+1163,7
@@
static void cmd_filtercmd(struct socket *sk, struct uidata *data, int argc, wcha
static void cmd_lstrarg(struct socket *sk, struct uidata *data, int argc, wchar_t **argv)
{
struct transfer *transfer;
static void cmd_lstrarg(struct socket *sk, struct uidata *data, int argc, wchar_t **argv)
{
struct transfer *transfer;
- struct
transarg
*ta;
+ struct
wcspair
*ta;
haveargs(2);
havepriv(PERM_TRANS);
haveargs(2);
havepriv(PERM_TRANS);
@@
-1183,7
+1182,7
@@
static void cmd_lstrarg(struct socket *sk, struct uidata *data, int argc, wchar_
sq(sk, 0, L"201", L"Transfer has no arguments", NULL);
} else {
for(ta = transfer->args; ta != NULL; ta = ta->next)
sq(sk, 0, L"201", L"Transfer has no arguments", NULL);
} else {
for(ta = transfer->args; ta != NULL; ta = ta->next)
- sq(sk, ta->next != NULL, L"200", L"%%ls", ta->
rec
, L"%%ls", ta->val, NULL);
+ sq(sk, ta->next != NULL, L"200", L"%%ls", ta->
key
, L"%%ls", ta->val, NULL);
}
}
}
}