Fix endless loop on /BIP LIST connections with long on_connect_send
- when the line to send to IRC was over a specific limit, the code was not moving to the next item in the on_connect_send list after sending the text to the client - this change also adds a hard limit of 10 on_connect_send to display for each connection Signed-off-by: Loïc Gomez <bip@animanova.fr>
This commit is contained in:
parent
f797d25e06
commit
cd7d357a6f
@ -1331,9 +1331,10 @@ void adm_print_connection(struct link_client *ic, struct link *lnk,
|
|||||||
bufpos = buf;
|
bufpos = buf;
|
||||||
|
|
||||||
list_iterator_t itocs;
|
list_iterator_t itocs;
|
||||||
|
int i = 0;
|
||||||
for (list_it_init(&lnk->on_connect_send, &itocs);
|
for (list_it_init(&lnk->on_connect_send, &itocs);
|
||||||
list_it_item(&itocs);) {
|
list_it_item(&itocs) && i < 10; i++) {
|
||||||
bufpos = bip_strcatf_fit(&remaining, bufpos, "%s",
|
bufpos = bip_strcatf_fit(&remaining, bufpos, " on_connect_send: %s",
|
||||||
(char *)list_it_item(&itocs));
|
(char *)list_it_item(&itocs));
|
||||||
if (!bufpos) {
|
if (!bufpos) {
|
||||||
// if oversized, print and reset
|
// if oversized, print and reset
|
||||||
@ -1341,6 +1342,7 @@ void adm_print_connection(struct link_client *ic, struct link *lnk,
|
|||||||
bip_notify(ic, "%s", buf);
|
bip_notify(ic, "%s", buf);
|
||||||
remaining = LINE_SIZE_LIM;
|
remaining = LINE_SIZE_LIM;
|
||||||
bufpos = buf;
|
bufpos = buf;
|
||||||
|
list_it_next(&itocs);
|
||||||
continue;
|
continue;
|
||||||
} else {
|
} else {
|
||||||
// if ok, go to next item
|
// if ok, go to next item
|
||||||
|
Loading…
Reference in New Issue
Block a user