コード例 #1
0
ファイル: irrfilter.c プロジェクト: ajinkya93/OpenBSD
__dead void
irr_main(u_int32_t AS, int flags, char *outdir)
{
	char	*query;
	int	 r;

	if (pledge("stdio rpath wpath cpath inet dns", NULL) == -1)
		err(1, "pledge");

	fprintf(stderr, "irrfilter for: %u, writing to %s\n", AS, outdir);

	irrflags = flags;
	irrverbose = 0;
	TAILQ_INIT(&router_head);

	/* send query for own AS, parse policy */
	if (asprintf(&query, "AS%u", AS) == -1)
		err(1, "parse_policy asprintf");
	if ((r = whois(query, QTYPE_OWNAS)) == -1)
		exit(1);
	if (r == 0)
		errx(1, "aut-num object %s not found", query);
	free(query);

	write_filters(outdir);

	exit(0);
}
コード例 #2
0
ファイル: filter.cpp プロジェクト: DrageFabeldyr/mfp
// функция запоминания расставленных галочек
void Filter::save_checked(QTreeWidget *treewidget)
{
    for (int i = 0; i < filters.size(); i++)
    {
        if (treewidget->topLevelItem(i)->checkState(0))
            filters[i].is_on = true;
        else
            filters[i].is_on = false;
    }
    write_filters();
}
コード例 #3
0
ファイル: filter.cpp プロジェクト: DrageFabeldyr/mfp
// удаление фильтра
void Filter::del_filter()
{
    save_checked(filers_list); // сохраним галочки
    for (int i = filters.size() - 1; i >= 0; i--) // идём от конца к началу, т.к. при удалении элемента размер списка уменьшается
        if (filers_list->topLevelItem(i)->isSelected())
            filters.removeAt(i);
    /**/
    write_filters();
    show_filters(filers_list, filters);
    set_filters_header_label();
    /**/
}
コード例 #4
0
ファイル: filter.cpp プロジェクト: DrageFabeldyr/mfp
void Filter::add_filter()
{
    QString help_str;
    bool add_this = true;

    if (!lineEdit->text().isEmpty())
    {
        save_checked(filers_list); // сохраним галочки на случай если они будут изменены одновременно с изменением количества элементов
        help_str.clear();
        help_str = lineEdit->text();

        for (int i = 0; i < filters.size(); i++)
        {
            if (QString::compare(help_str, filters.at(i).title.simplified(), Qt::CaseInsensitive) == 0)
            {
                filter_hint->setText("Такой фильтр уже есть");
                add_this = false;
            }
        }
        if (add_this)
        {
            filters_struct temp;  // создаём элемент типа
            temp.title = QString("%1").arg(lineEdit->text());    // заносим в него данные
            if (settings->activate_filters->isChecked())
                temp.is_on = true;
            else
                temp.is_on = false;
            filters.push_back(temp); // запихиваем элемент в контейнер

            filter_hint->setText("Фильтр добавлен");
            /**/
            write_filters();
            show_filters(filers_list, filters);
            set_filters_header_label();
            /**/
        }
    }
    else
        filter_hint->setText("Нельзя добавить пустой фильтр");
}