1
0
mirror of https://github.com/weechat/weechat.git synced 2026-07-02 07:46:38 +02:00

Add infolist for list of filters ("filter")

This commit is contained in:
Sebastien Helleu
2008-09-03 10:09:22 +02:00
parent 209df25bdb
commit cd586cda77
3 changed files with 62 additions and 0 deletions
+40
View File
@@ -29,6 +29,7 @@
#include "../core/weechat.h"
#include "../core/wee-hook.h"
#include "../core/wee-infolist.h"
#include "../core/wee-log.h"
#include "../core/wee-string.h"
#include "../plugins/plugin.h"
@@ -407,6 +408,45 @@ gui_filter_free_all ()
}
}
/*
* gui_filter_add_to_infolist: add a filter in an infolist
* return 1 if ok, 0 if error
*/
int
gui_filter_add_to_infolist (struct t_infolist *infolist,
struct t_gui_filter *filter)
{
struct t_infolist_item *ptr_item;
char option_name[64];
int i;
if (!infolist || !filter)
return 0;
ptr_item = infolist_new_item (infolist);
if (!ptr_item)
return 0;
if (!infolist_new_var_string (ptr_item, "buffer", filter->buffer))
return 0;
if (!infolist_new_var_string (ptr_item, "tags", filter->tags))
return 0;
if (!infolist_new_var_integer (ptr_item, "tags_count", filter->tags_count))
return 0;
for (i = 0; i < filter->tags_count; i++)
{
snprintf (option_name, sizeof (option_name), "tag_%05d", i + 1);
if (!infolist_new_var_string (ptr_item, option_name,
filter->tags_array[i]))
return 0;
}
if (!infolist_new_var_string (ptr_item, "regex", filter->regex))
return 0;
return 1;
}
/*
* gui_filter_print_log: print filter infos in log (usually for crash dump)
*/
+2
View File
@@ -62,6 +62,8 @@ extern struct t_gui_filter *gui_filter_new (const char *buffer,
const char *regex);
extern void gui_filter_free (struct t_gui_filter *filter);
extern void gui_filter_free_all ();
extern int gui_filter_add_to_infolist (struct t_infolist *infolist,
struct t_gui_filter *filter);
extern void gui_filter_print_log ();
#endif /* gui-filter.h */