[FEATURE] reset backlog on talk now "window" local
The reset_backlog_on_talk now resets current query or channel. The /bip blreset command not takes an optional argument taking query name or channel name.
This commit is contained in:
parent
a6bb697f5d
commit
f1221703b0
22
src/bip.c
22
src/bip.c
@ -1847,6 +1847,12 @@ void adm_blreset(struct link_client *ic)
|
|||||||
bip_notify(ic, "backlog resetted for this network.");
|
bip_notify(ic, "backlog resetted for this network.");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void adm_blreset_store(struct link_client *ic, const char *store)
|
||||||
|
{
|
||||||
|
log_reset_store(LINK(ic)->log, store);
|
||||||
|
bip_notify(ic, "backlog resetted for %s.", store);
|
||||||
|
}
|
||||||
|
|
||||||
void adm_follow_nick(struct link_client *ic, const char *val)
|
void adm_follow_nick(struct link_client *ic, const char *val)
|
||||||
{
|
{
|
||||||
struct link *link = LINK(ic);
|
struct link *link = LINK(ic);
|
||||||
@ -2163,9 +2169,19 @@ int adm_bip(bip_t *bip, struct link_client *ic, struct line *line, int privmsg)
|
|||||||
}
|
}
|
||||||
bip_notify(ic, "-- Jumping to next server");
|
bip_notify(ic, "-- Jumping to next server");
|
||||||
} else if (irc_line_elem_case_equals(line, privmsg + 1, "BLRESET")) {
|
} else if (irc_line_elem_case_equals(line, privmsg + 1, "BLRESET")) {
|
||||||
if (irc_line_count(line) == privmsg + 3 &&
|
if (irc_line_includes(line, privmsg + 2)) {
|
||||||
irc_line_elem_equals(line, privmsg + 2, "-q")) {
|
if (irc_line_elem_equals(line, privmsg + 2, "-q")) {
|
||||||
log_reinit_all(LINK(ic)->log);
|
if (irc_line_includes(line, privmsg + 3)) {
|
||||||
|
log_reset_store(LINK(ic)->log,
|
||||||
|
irc_line_elem(line,
|
||||||
|
privmsg + 3));
|
||||||
|
} else {
|
||||||
|
log_reinit_all(LINK(ic)->log);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
adm_blreset_store(ic, irc_line_elem(line,
|
||||||
|
privmsg + 3));
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
adm_blreset(ic);
|
adm_blreset(ic);
|
||||||
}
|
}
|
||||||
|
@ -871,7 +871,7 @@ static int irc_cli_privmsg(bip_t *bip, struct link_client *ic,
|
|||||||
return adm_bip(bip, ic, line, 1);
|
return adm_bip(bip, ic, line, 1);
|
||||||
|
|
||||||
if (LINK(ic)->user->blreset_on_talk)
|
if (LINK(ic)->user->blreset_on_talk)
|
||||||
log_reinit_all(LINK(ic)->log);
|
log_reset_store(LINK(ic)->log, irc_line_elem(line, 1));
|
||||||
return OK_COPY_CLI;
|
return OK_COPY_CLI;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -882,7 +882,7 @@ static int irc_cli_notice(struct link_client *ic, struct line *line)
|
|||||||
log_cli_notice(LINK(ic)->log, LINK(ic)->l_server->nick,
|
log_cli_notice(LINK(ic)->log, LINK(ic)->l_server->nick,
|
||||||
irc_line_elem(line, 1), irc_line_elem(line, 2));
|
irc_line_elem(line, 1), irc_line_elem(line, 2));
|
||||||
if (LINK(ic)->user->blreset_on_talk)
|
if (LINK(ic)->user->blreset_on_talk)
|
||||||
log_reinit_all(LINK(ic)->log);
|
log_reset_store(LINK(ic)->log, irc_line_elem(line, 1));
|
||||||
return OK_COPY_CLI;
|
return OK_COPY_CLI;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -689,6 +689,14 @@ void log_reinit_all(log_t *logdata)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void log_reset_store(log_t *log, const char *storename)
|
||||||
|
{
|
||||||
|
logstore_t *store;
|
||||||
|
store = hash_get(&log->logfgs, storename);
|
||||||
|
if (store)
|
||||||
|
log_reset(store);
|
||||||
|
}
|
||||||
|
|
||||||
void log_client_none_connected(log_t *logdata)
|
void log_client_none_connected(log_t *logdata)
|
||||||
{
|
{
|
||||||
logdata->connected = 0;
|
logdata->connected = 0;
|
||||||
|
@ -100,6 +100,7 @@ void log_reset(logstore_t *);
|
|||||||
void log_reinit_all(log_t *logdata);
|
void log_reinit_all(log_t *logdata);
|
||||||
void log_free(log_t *log);
|
void log_free(log_t *log);
|
||||||
int check_dir(char *filename, int is_fatal);
|
int check_dir(char *filename, int is_fatal);
|
||||||
|
void log_reset_store(log_t *log, const char *storename);
|
||||||
|
|
||||||
list_t *log_backlogs(log_t *log);
|
list_t *log_backlogs(log_t *log);
|
||||||
list_t *backlog_lines_from_last_mark(log_t *log, const char *bl);
|
list_t *backlog_lines_from_last_mark(log_t *log, const char *bl);
|
||||||
|
Loading…
Reference in New Issue
Block a user