Ejemplo n.º 1
0
int
rmodifier_config_modifier_create_option_cb (void *data,
                                            struct t_config_file *config_file,
                                            struct t_config_section *section,
                                            const char *option_name,
                                            const char *value)
{
    struct t_rmodifier *ptr_rmodifier;
    int rc;

    /* make C compiler happy */
    (void) data;
    (void) config_file;
    (void) section;

    /* create rmodifier */
    ptr_rmodifier = rmodifier_search (option_name);
    if (ptr_rmodifier)
        rmodifier_free (ptr_rmodifier);
    if (value && value[0])
    {
        ptr_rmodifier = rmodifier_new_with_string (option_name, value);
        if (ptr_rmodifier)
        {
            rc = WEECHAT_CONFIG_OPTION_SET_OK_SAME_VALUE;
            /* create option */
            rmodifier_config_modifier_new_option (ptr_rmodifier->name,
                                                  ptr_rmodifier->modifiers,
                                                  ptr_rmodifier->str_regex,
                                                  ptr_rmodifier->groups);
        }
        else
            rc = WEECHAT_CONFIG_OPTION_SET_ERROR;
    }
    else
        rc = WEECHAT_CONFIG_OPTION_SET_OK_SAME_VALUE;

    if (rc == WEECHAT_CONFIG_OPTION_SET_ERROR)
    {
        weechat_printf (NULL,
                        _("%s%s: error creating rmodifier "
                          "\"%s\" => \"%s\""),
                        weechat_prefix ("error"), RMODIFIER_PLUGIN_NAME,
                        option_name, value);
    }

    return rc;
}
Ejemplo n.º 2
0
void
rmodifier_create_default ()
{
    int i;

    for (i = 0; rmodifier_config_default_list[i][0]; i++)
    {
        if (rmodifier_new (rmodifier_config_default_list[i][0],
                           rmodifier_config_default_list[i][1],
                           rmodifier_config_default_list[i][2],
                           rmodifier_config_default_list[i][3]))
        {
            rmodifier_config_modifier_new_option (rmodifier_config_default_list[i][0],
                                                  rmodifier_config_default_list[i][1],
                                                  rmodifier_config_default_list[i][2],
                                                  rmodifier_config_default_list[i][3]);
        }
    }
}