X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Fgraph_def.c;h=d01db8ea8b4e06e581705a74668273e89491887f;hb=6760d3740f2c8c7b30310b7f3065147c34ff9802;hp=7ac8dac51920fa2b7f70f87a2155fade131d2684;hpb=860cbdf33b4e6a928c0f3153ed57539a2750e9d6;p=collection4.git diff --git a/src/graph_def.c b/src/graph_def.c index 7ac8dac..d01db8e 100644 --- a/src/graph_def.c +++ b/src/graph_def.c @@ -156,7 +156,10 @@ static int def_to_json_recursive (const graph_def_t *def, /* {{{ */ if (def == NULL) return (0); - snprintf (color, sizeof (color), "%06"PRIx32, def->color); + if (def->color < 0x00ffffff) + snprintf (color, sizeof (color), "#%06"PRIx32, def->color); + else + strncpy (color, "random", sizeof (color)); color[sizeof (color) - 1] = 0; yajl_gen_map_open (handler); @@ -166,22 +169,32 @@ static int def_to_json_recursive (const graph_def_t *def, /* {{{ */ yajl_gen_string_cast (handler, "select", strlen ("select")); ident_to_json (def->select, handler); - yajl_gen_string_cast (handler, "ds_name", strlen ("ds_name")); - yajl_gen_string_cast (handler, def->ds_name, strlen (def->ds_name)); - yajl_gen_string_cast (handler, "legend", strlen ("legend")); - yajl_gen_string_cast (handler, def->legend, strlen (def->legend)); + if (def->ds_name != NULL) + { + yajl_gen_string_cast (handler, "ds_name", strlen ("ds_name")); + yajl_gen_string_cast (handler, def->ds_name, strlen (def->ds_name)); + } + if (def->legend != NULL) + { + yajl_gen_string_cast (handler, "legend", strlen ("legend")); + yajl_gen_string_cast (handler, def->legend, strlen (def->legend)); + } yajl_gen_string_cast (handler, "color", strlen ("color")); yajl_gen_string_cast (handler, color, strlen (color)); yajl_gen_string_cast (handler, "stack", strlen ("stack")); yajl_gen_bool (handler, def->stack); yajl_gen_string_cast (handler, "area", strlen ("area")); yajl_gen_bool (handler, def->area); - yajl_gen_string_cast (handler, "format", strlen ("format")); - yajl_gen_string_cast (handler, def->format, strlen (def->format)); + if (def->format != NULL) + { + yajl_gen_string_cast (handler, "format", strlen ("format")); + yajl_gen_string_cast (handler, def->format, strlen (def->format)); + } yajl_gen_map_close (handler); return (def_to_json_recursive (def->next, handler)); +#undef yajl_gen_string_cast } /* }}} int def_to_json_recursive */ /*