summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 0705bc1)
raw | patch | inline | side by side (parent: 0705bc1)
author | Florian Forster <ff@octo.it> | |
Mon, 14 Jun 2010 21:27:55 +0000 (23:27 +0200) | ||
committer | Florian Forster <octo@leeloo.lan.home.verplant.org> | |
Mon, 14 Jun 2010 21:27:55 +0000 (23:27 +0200) |
graph_def.c | patch | blob | history |
diff --git a/graph_def.c b/graph_def.c
index 529b3b19d4a18d680a72dcf4a349ca915ff31e4f..24e66d4ef71621ed130f9060d3c0b83f5f931b7c 100644 (file)
--- a/graph_def.c
+++ b/graph_def.c
#undef DEF_CONFIG_FIELD
+static int def_config_color (const oconfig_item_t *ci, uint32_t *ret_color) /* {{{ */
+{
+ char *tmp;
+ char *endptr;
+ uint32_t color;
+
+ if ((ci->values_num != 1) || (ci->values[0].type != OCONFIG_TYPE_STRING))
+ return (EINVAL);
+
+ tmp = ci->values[0].value.string;
+
+ endptr = NULL;
+ errno = 0;
+ color = (uint32_t) strtoul (tmp, &endptr, /* base = */ 16);
+ if ((errno != 0) || (endptr == tmp) || (color > 0x00ffffff))
+ return (EINVAL);
+
+ *ret_color = color;
+
+ return (0);
+} /* }}} int def_config_color */
+
/*
* Public functions
*/
graph_ident_t *ident;
char *ds_name = NULL;
char *legend = NULL;
+ uint32_t color = 0x01000000;
graph_def_t *def;
int i;
graph_config_get_string (child, &ds_name);
else if (strcasecmp ("Legend", child->key) == 0)
graph_config_get_string (child, &legend);
+ else if (strcasecmp ("Color", child->key) == 0)
+ def_config_color (child, &color);
+
HANDLE_FIELD ("Host", host);
HANDLE_FIELD ("Plugin", plugin);
HANDLE_FIELD ("PluginInstance", plugin_instance);
}
def->legend = legend;
+ if (color < 0x01000000)
+ def->color = color;
ident_destroy (ident);
free (ds_name);