/* Create a new filter_expression and add it to the end of the list of filter_expressions.  */
struct filter_expression* filter_expression_new(const gchar *label, const gchar *expr, const gboolean enabled)
/* Create a new filter_expression and add it to the end of the list of filter_expressions.  */
struct filter_expression* filter_expression_new(const gchar *label, const gchar *expr, const gboolean enabled)
{
	struct filter_expression *expression;
	struct filter_expression *prev;
	expression = (struct filter_expression *)g_malloc0(sizeof(struct filter_expression));
	expression->label = g_strdup(label);
	expression->expression = g_strdup(expr);
	expression->enabled = enabled;
	if (*pfilter_expression_head == NULL) {
		_filter_expression_head = expression;
	} else {
		prev = *pfilter_expression_head;
		while (prev->next != NULL)
			prev = prev->next;
		prev->next = expression;
		expression->filter_index = prev->filter_index + 1;
	}
	return(expression);
}