};
static int config_keys_num = STATIC_ARRAY_SIZE (config_keys);
+static void remove_special (char *buffer, size_t buffer_size)
+{
+ size_t i;
+
+ for (i = 0; i < buffer_size; i++)
+ {
+ if (buffer[i] == 0)
+ return;
+ if (!isalnum ((int) buffer[i]))
+ buffer[i] = '_';
+ }
+} /* void remove_special */
+
static void submit_counter(time_t ts, const char *plugin_instance, const char *type,
const char *type_instance, counter_t value)
{
value_t values[1];
value_list_t vl = VALUE_LIST_INIT;
- char *p;
values[0].counter = value;
if (plugin_instance) {
sstrncpy(vl.plugin_instance, plugin_instance,
sizeof(vl.plugin_instance));
- for (p = vl.type_instance; *p; p++)
- if ((*p < 'a' || *p > 'z') && (*p < 'A' || *p > 'Z') && (*p < '0' || *p > '9') && *p != '_')
- *p = '_';
+ remove_special (vl.plugin_instance, sizeof (vl.plugin_instance));
}
sstrncpy(vl.type, type, sizeof(vl.type));
if (type_instance) {
sstrncpy(vl.type_instance, type_instance,
sizeof(vl.type_instance));
- for (p = vl.type_instance; *p; p++)
- if ((*p < 'a' || *p > 'z') && (*p < 'A' || *p > 'Z') && (*p < '0' || *p > '9') && *p != '_')
- *p = '_';
+ remove_special (vl.plugin_instance, sizeof (vl.plugin_instance));
}
plugin_dispatch_values(&vl);
} /* void submit_counter */