Add parser routine conf_replace_char()
[petitboot] / discover / parser-conf.c
index 14f847d7b31ec8ba00ebdef89b0727c53de81a38..6926a92a3fc3b836f51353ec71d3f9b920c43812 100644 (file)
@@ -57,6 +57,22 @@ char *conf_strip_str(char *s)
        return strlen(s) ? s : NULL;
 }
 
+/**
+ * conf_replace_char - replace one char with another.
+ */
+
+char *conf_replace_char(char *s, char from, char to)
+{
+       if (!s)
+               return NULL;
+
+       for ( ; *s; s++)
+               if (*s == from)
+                       *s = to;
+
+       return s;
+}
+
 /**
  * conf_get_param_pair - Get the next 'name=value' parameter pair.
  * @str: The string to process.
@@ -120,6 +136,18 @@ int conf_param_in_list(const char *const *list, const char *param)
        return 0;
 }
 
+/**
+ * conf_init_global_options - Zero the global option table.
+ */
+
+void conf_init_global_options(struct conf_context *conf)
+{
+       int i;
+
+       for (i = 0; conf->global_options[i].name; i++)
+               conf->global_options[i].value = NULL;
+}
+
 /**
  * conf_set_global_option - Set a value in the global option table.
  *
@@ -136,7 +164,7 @@ int conf_set_global_option(struct conf_context *conf, const char *name,
                if (streq(name, conf->global_options[i].name)) {
                        conf->global_options[i].value
                                = talloc_strdup(conf, value);
-                       pb_log("%s: %s:%s\n", __func__, name, value);
+                       pb_log("%s: @%s@%s@\n", __func__, name, value);
                        return 1;
                }
        }
@@ -158,8 +186,11 @@ const char *conf_get_global_option(struct conf_context *conf,
        int i;
 
        for (i = 0; conf->global_options[i].name ;i++)
-               if (streq(name, conf->global_options[i].name))
+               if (streq(name, conf->global_options[i].name)) {
+                       pb_log("%s: @%s@%s@\n", __func__, name,
+                               conf->global_options[i].value);
                        return conf->global_options[i].value;
+               }
 
        assert(0 && "unknown global name");
        return NULL;