+ text->options.color = TEXT_COLOR_OPT_AUTO;
+ if (bt_value_map_has_key(params, "color")) {
+ struct bt_value *color_value;
+ const char *color;
+
+ color_value = bt_value_map_get(params, "color");
+ if (!color_value) {
+ goto end;
+ }
+
+ ret = bt_value_string_get(color_value, &color);
+ if (ret) {
+ warn_wrong_color_param(text);
+ } else {
+ if (strcmp(color, "never") == 0) {
+ text->options.color = TEXT_COLOR_OPT_NEVER;
+ } else if (strcmp(color, "auto") == 0) {
+ text->options.color = TEXT_COLOR_OPT_AUTO;
+ } else if (strcmp(color, "always") == 0) {
+ text->options.color = TEXT_COLOR_OPT_ALWAYS;
+ } else {
+ warn_wrong_color_param(text);
+ }
+ }
+
+ bt_put(color_value);
+ }
+