362 |
{ |
{ |
363 |
if (DCC_IS_FILE(ptr_dcc->type)) |
if (DCC_IS_FILE(ptr_dcc->type)) |
364 |
{ |
{ |
365 |
irc_display_prefix (ptr_dcc->server->buffer, PREFIX_INFO); |
irc_display_prefix (ptr_dcc->server, ptr_dcc->server->buffer, |
366 |
|
PREFIX_INFO); |
367 |
gui_printf (ptr_dcc->server->buffer, _("DCC: file ")); |
gui_printf (ptr_dcc->server->buffer, _("DCC: file ")); |
368 |
gui_printf_color (ptr_dcc->server->buffer, |
gui_printf_color (ptr_dcc->server->buffer, |
369 |
COLOR_WIN_CHAT_CHANNEL, |
COLOR_WIN_CHAT_CHANNEL, |
398 |
ptr_buffer = ptr_dcc->channel->buffer; |
ptr_buffer = ptr_dcc->channel->buffer; |
399 |
else |
else |
400 |
ptr_buffer = ptr_dcc->server->buffer; |
ptr_buffer = ptr_dcc->server->buffer; |
401 |
irc_display_prefix (ptr_buffer, PREFIX_INFO); |
irc_display_prefix (ptr_dcc->server, ptr_buffer, PREFIX_INFO); |
402 |
gui_printf (ptr_buffer, _("DCC chat closed with ")); |
gui_printf (ptr_buffer, _("DCC chat closed with ")); |
403 |
gui_printf_color (ptr_buffer, COLOR_WIN_CHAT_NICK, |
gui_printf_color (ptr_buffer, COLOR_WIN_CHAT_NICK, |
404 |
"%s", ptr_dcc->nick); |
"%s", ptr_dcc->nick); |
453 |
{ |
{ |
454 |
if (!channel_create_dcc (ptr_dcc)) |
if (!channel_create_dcc (ptr_dcc)) |
455 |
{ |
{ |
456 |
irc_display_prefix (ptr_dcc->server->buffer, PREFIX_ERROR); |
irc_display_prefix (ptr_dcc->server, ptr_dcc->server->buffer, |
457 |
|
PREFIX_ERROR); |
458 |
gui_printf (ptr_dcc->server->buffer, |
gui_printf (ptr_dcc->server->buffer, |
459 |
_("%s can't associate DCC chat with private buffer " |
_("%s can't associate DCC chat with private buffer " |
460 |
"(maybe private buffer has already DCC CHAT?)\n"), |
"(maybe private buffer has already DCC CHAT?)\n"), |
464 |
return; |
return; |
465 |
} |
} |
466 |
|
|
467 |
irc_display_prefix (ptr_dcc->channel->buffer, PREFIX_INFO); |
irc_display_prefix (ptr_dcc->server, ptr_dcc->channel->buffer, |
468 |
|
PREFIX_INFO); |
469 |
gui_printf_type (ptr_dcc->channel->buffer, MSG_TYPE_MSG, |
gui_printf_type (ptr_dcc->channel->buffer, MSG_TYPE_MSG, |
470 |
_("Connected to ")); |
_("Connected to ")); |
471 |
gui_printf_color (ptr_dcc->channel->buffer, COLOR_WIN_CHAT_NICK, |
gui_printf_color (ptr_dcc->channel->buffer, COLOR_WIN_CHAT_NICK, |
563 |
ptr_dcc->nick, ptr_dcc->filename, |
ptr_dcc->nick, ptr_dcc->filename, |
564 |
ptr_dcc->port, ptr_dcc->start_resume); |
ptr_dcc->port, ptr_dcc->start_resume); |
565 |
|
|
566 |
irc_display_prefix (ptr_dcc->server->buffer, PREFIX_INFO); |
irc_display_prefix (ptr_dcc->server, ptr_dcc->server->buffer, |
567 |
|
PREFIX_INFO); |
568 |
gui_printf (ptr_dcc->server->buffer, _("DCC: file ")); |
gui_printf (ptr_dcc->server->buffer, _("DCC: file ")); |
569 |
gui_printf_color (ptr_dcc->server->buffer, |
gui_printf_color (ptr_dcc->server->buffer, |
570 |
COLOR_WIN_CHAT_CHANNEL, |
COLOR_WIN_CHAT_CHANNEL, |
618 |
/* create new DCC struct */ |
/* create new DCC struct */ |
619 |
if ((new_dcc = (t_irc_dcc *) malloc (sizeof (t_irc_dcc))) == NULL) |
if ((new_dcc = (t_irc_dcc *) malloc (sizeof (t_irc_dcc))) == NULL) |
620 |
{ |
{ |
621 |
irc_display_prefix (server->buffer, PREFIX_ERROR); |
irc_display_prefix (server, server->buffer, PREFIX_ERROR); |
622 |
gui_printf (server->buffer, |
gui_printf (server->buffer, |
623 |
_("%s not enough memory for new DCC\n"), |
_("%s not enough memory for new DCC\n"), |
624 |
WEECHAT_ERROR); |
WEECHAT_ERROR); |
668 |
/* write info message on server buffer */ |
/* write info message on server buffer */ |
669 |
if (type == DCC_FILE_RECV) |
if (type == DCC_FILE_RECV) |
670 |
{ |
{ |
671 |
irc_display_prefix (server->buffer, PREFIX_INFO); |
irc_display_prefix (server, server->buffer, PREFIX_INFO); |
672 |
gui_printf (server->buffer, _("Incoming DCC file from ")); |
gui_printf (server->buffer, _("Incoming DCC file from ")); |
673 |
gui_printf_color (server->buffer, COLOR_WIN_CHAT_NICK, "%s", nick); |
gui_printf_color (server->buffer, COLOR_WIN_CHAT_NICK, "%s", nick); |
674 |
gui_printf_color (server->buffer, COLOR_WIN_CHAT_DARK, " ("); |
gui_printf_color (server->buffer, COLOR_WIN_CHAT_DARK, " ("); |
685 |
} |
} |
686 |
if (type == DCC_FILE_SEND) |
if (type == DCC_FILE_SEND) |
687 |
{ |
{ |
688 |
irc_display_prefix (server->buffer, PREFIX_INFO); |
irc_display_prefix (server, server->buffer, PREFIX_INFO); |
689 |
gui_printf (server->buffer, _("Sending DCC file to ")); |
gui_printf (server->buffer, _("Sending DCC file to ")); |
690 |
gui_printf_color (server->buffer, COLOR_WIN_CHAT_NICK, "%s", nick); |
gui_printf_color (server->buffer, COLOR_WIN_CHAT_NICK, "%s", nick); |
691 |
gui_printf (server->buffer, ": "); |
gui_printf (server->buffer, ": "); |
699 |
} |
} |
700 |
if (type == DCC_CHAT_RECV) |
if (type == DCC_CHAT_RECV) |
701 |
{ |
{ |
702 |
irc_display_prefix (server->buffer, PREFIX_INFO); |
irc_display_prefix (server, server->buffer, PREFIX_INFO); |
703 |
gui_printf (server->buffer, _("Incoming DCC chat request from ")); |
gui_printf (server->buffer, _("Incoming DCC chat request from ")); |
704 |
gui_printf_color (server->buffer, COLOR_WIN_CHAT_NICK, "%s", nick); |
gui_printf_color (server->buffer, COLOR_WIN_CHAT_NICK, "%s", nick); |
705 |
gui_printf_color (server->buffer, COLOR_WIN_CHAT_DARK, " ("); |
gui_printf_color (server->buffer, COLOR_WIN_CHAT_DARK, " ("); |
711 |
} |
} |
712 |
if (type == DCC_CHAT_SEND) |
if (type == DCC_CHAT_SEND) |
713 |
{ |
{ |
714 |
irc_display_prefix (server->buffer, PREFIX_INFO); |
irc_display_prefix (server, server->buffer, PREFIX_INFO); |
715 |
gui_printf (server->buffer, _("Sending DCC chat request to ")); |
gui_printf (server->buffer, _("Sending DCC chat request to ")); |
716 |
gui_printf_color (server->buffer, COLOR_WIN_CHAT_NICK, "%s\n", nick); |
gui_printf_color (server->buffer, COLOR_WIN_CHAT_NICK, "%s\n", nick); |
717 |
dcc_redraw (HOTLIST_MSG); |
dcc_redraw (HOTLIST_MSG); |
726 |
|
|
727 |
if (DCC_IS_FILE(type) && (new_dcc->start_resume > 0)) |
if (DCC_IS_FILE(type) && (new_dcc->start_resume > 0)) |
728 |
{ |
{ |
729 |
irc_display_prefix (new_dcc->server->buffer, PREFIX_INFO); |
irc_display_prefix (new_dcc->server, new_dcc->server->buffer, |
730 |
|
PREFIX_INFO); |
731 |
gui_printf (new_dcc->server->buffer, _("DCC: file ")); |
gui_printf (new_dcc->server->buffer, _("DCC: file ")); |
732 |
gui_printf_color (new_dcc->server->buffer, |
gui_printf_color (new_dcc->server->buffer, |
733 |
COLOR_WIN_CHAT_CHANNEL, |
COLOR_WIN_CHAT_CHANNEL, |
805 |
4); |
4); |
806 |
if (!filename2) |
if (!filename2) |
807 |
{ |
{ |
808 |
irc_display_prefix (server->buffer, PREFIX_ERROR); |
irc_display_prefix (server, server->buffer, PREFIX_ERROR); |
809 |
gui_printf (server->buffer, |
gui_printf (server->buffer, |
810 |
_("%s not enough memory for DCC SEND\n"), |
_("%s not enough memory for DCC SEND\n"), |
811 |
WEECHAT_ERROR); |
WEECHAT_ERROR); |
827 |
/* check if file exists */ |
/* check if file exists */ |
828 |
if (stat (filename2, &st) == -1) |
if (stat (filename2, &st) == -1) |
829 |
{ |
{ |
830 |
irc_display_prefix (server->buffer, PREFIX_ERROR); |
irc_display_prefix (server, server->buffer, PREFIX_ERROR); |
831 |
gui_printf (server->buffer, |
gui_printf (server->buffer, |
832 |
_("%s cannot access file \"%s\"\n"), |
_("%s cannot access file \"%s\"\n"), |
833 |
WEECHAT_ERROR, filename2); |
WEECHAT_ERROR, filename2); |
869 |
sock = socket (AF_INET, SOCK_STREAM, 0); |
sock = socket (AF_INET, SOCK_STREAM, 0); |
870 |
if (sock == -1) |
if (sock == -1) |
871 |
{ |
{ |
872 |
irc_display_prefix (server->buffer, PREFIX_ERROR); |
irc_display_prefix (server, server->buffer, PREFIX_ERROR); |
873 |
gui_printf (server->buffer, |
gui_printf (server->buffer, |
874 |
_("%s cannot create socket for DCC\n"), |
_("%s cannot create socket for DCC\n"), |
875 |
WEECHAT_ERROR); |
WEECHAT_ERROR); |
902 |
if (bind (sock, (struct sockaddr *) &addr, sizeof (addr)) == 0) |
if (bind (sock, (struct sockaddr *) &addr, sizeof (addr)) == 0) |
903 |
break; |
break; |
904 |
} |
} |
905 |
|
port++; |
906 |
} |
} |
907 |
|
|
908 |
if (port > port_end) |
if (port > port_end) |
927 |
if (port == -1) |
if (port == -1) |
928 |
{ |
{ |
929 |
/* Could not find any port to bind */ |
/* Could not find any port to bind */ |
930 |
irc_display_prefix (server->buffer, PREFIX_ERROR); |
irc_display_prefix (server, server->buffer, PREFIX_ERROR); |
931 |
gui_printf (server->buffer, |
gui_printf (server->buffer, |
932 |
_("%s cannot find available port for DCC\n"), |
_("%s cannot find available port for DCC\n"), |
933 |
WEECHAT_ERROR); |
WEECHAT_ERROR); |
971 |
short_filename, filename2, st.st_size); |
short_filename, filename2, st.st_size); |
972 |
if (!ptr_dcc) |
if (!ptr_dcc) |
973 |
{ |
{ |
974 |
irc_display_prefix (server->buffer, PREFIX_ERROR); |
irc_display_prefix (server, server->buffer, PREFIX_ERROR); |
975 |
gui_printf (server->buffer, |
gui_printf (server->buffer, |
976 |
_("%s cannot send DCC\n"), |
_("%s cannot send DCC\n"), |
977 |
WEECHAT_ERROR); |
WEECHAT_ERROR); |
1051 |
buffer); |
buffer); |
1052 |
if (dcc_chat_send (ptr_dcc, buf2, strlen (buf2)) <= 0) |
if (dcc_chat_send (ptr_dcc, buf2, strlen (buf2)) <= 0) |
1053 |
{ |
{ |
1054 |
irc_display_prefix (ptr_dcc->server->buffer, PREFIX_ERROR); |
irc_display_prefix (ptr_dcc->server, ptr_dcc->server->buffer, |
1055 |
gui_printf (ptr_dcc->server->buffer, _("%s error sending data to \"%s\" via DCC CHAT\n"), |
PREFIX_ERROR); |
1056 |
|
gui_printf (ptr_dcc->server->buffer, |
1057 |
|
_("%s error sending data to \"%s\" via DCC CHAT\n"), |
1058 |
WEECHAT_ERROR, ptr_dcc->nick); |
WEECHAT_ERROR, ptr_dcc->nick); |
1059 |
dcc_close (ptr_dcc, DCC_FAILED); |
dcc_close (ptr_dcc, DCC_FAILED); |
1060 |
} |
} |
1326 |
{ |
{ |
1327 |
if (cfg_dcc_blocksize > (int) sizeof (buffer)) |
if (cfg_dcc_blocksize > (int) sizeof (buffer)) |
1328 |
{ |
{ |
1329 |
irc_display_prefix (NULL, PREFIX_ERROR); |
irc_display_prefix (NULL, NULL, PREFIX_ERROR); |
1330 |
gui_printf (NULL, _("%s DCC failed because blocksize is too " |
gui_printf (NULL, _("%s DCC failed because blocksize is too " |
1331 |
"big. Check value of \"dcc_blocksize\" option, " |
"big. Check value of \"dcc_blocksize\" option, " |
1332 |
"max is %d.\n"), |
"max is %d.\n"), |