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; }
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]); } } }