1
0
mirror of https://github.com/irssi/irssi.git synced 2024-11-03 04:27:19 -05:00

Merge pull request #453 from LemonBoy/dcc-quote

Support quoted filenames in some /DCC commands
This commit is contained in:
ailin-nemui 2016-04-05 22:39:54 +02:00
commit 1349755bb5
3 changed files with 11 additions and 7 deletions

View File

@ -36,10 +36,10 @@
%9Examples:%9
/DCC CHAT mike
/DCC GET bob summer vacation.mkv
/DCC GET bob "summer vacation.mkv"
/DCC SEND sarah "summer vacation.mkv"
/DCC CLOSE get mike
/DCC CLOSE send bob summer vacation.mkv
/DCC CLOSE send bob "summer vacation.mkv"
%9See also:%9 CD

View File

@ -526,14 +526,14 @@ void cmd_dcc_receive(const char *data, DCC_GET_FUNC accept_func,
{
GET_DCC_REC *dcc;
GSList *tmp, *next;
char *nick, *fname;
char *nick, *arg, *fname;
void *free_arg;
int found;
g_return_if_fail(data != NULL);
if (!cmd_get_params(data, &free_arg, 2 | PARAM_FLAG_GETREST,
&nick, &fname))
if (!cmd_get_params(data, &free_arg, 2 | PARAM_FLAG_GETREST |
PARAM_FLAG_STRIP_TRAILING_WS, &nick, &arg))
return;
if (*nick == '\0') {
@ -548,6 +548,8 @@ void cmd_dcc_receive(const char *data, DCC_GET_FUNC accept_func,
return;
}
fname = cmd_get_quoted_param(&arg);
found = FALSE;
for (tmp = dcc_conns; tmp != NULL; tmp = next) {
GET_DCC_REC *dcc = tmp->data;

View File

@ -490,7 +490,7 @@ static void event_no_such_nick(IRC_SERVER_REC *server, char *data)
static void cmd_dcc_close(char *data, IRC_SERVER_REC *server)
{
GSList *tmp, *next;
char *typestr, *nick, *arg;
char *typestr, *nick, *arg, *fname;
void *free_arg;
int found, type;
@ -510,13 +510,15 @@ static void cmd_dcc_close(char *data, IRC_SERVER_REC *server)
return;
}
fname = cmd_get_quoted_param(&arg);
found = FALSE;
for (tmp = dcc_conns; tmp != NULL; tmp = next) {
DCC_REC *dcc = tmp->data;
next = tmp->next;
if (dcc->type == type && g_ascii_strcasecmp(dcc->nick, nick) == 0 &&
(*arg == '\0' || g_strcmp0(dcc->arg, arg) == 0)) {
(*fname == '\0' || g_strcmp0(dcc->arg, fname) == 0)) {
dcc_reject(dcc, server);
found = TRUE;
}