config: Only make keys global if before first entry
diff --git a/common/lib/config.c b/common/lib/config.c
index 5e273aa4..f64a20dd 100644
--- a/common/lib/config.c
+++ b/common/lib/config.c
@@ -8,7 +8,8 @@
#include <lib/print.h>
#include <pxe/tftp.h>
-#include <sys/cpu.h>
+static bool config_get_entry_name(char *ret, size_t index, size_t limit);
+static char *config_get_entry(size_t *size, size_t index);
#define SEPARATOR '\n'
@@ -285,10 +286,19 @@ overflow:
menu_tree = create_menu_tree(NULL, 1, 0);
+ size_t s;
+ char *c = config_get_entry(&s, 0);
+ while (*c != ':') {
+ c--;
+ }
+ if (c > config_addr) {
+ c[-1] = 0;
+ }
+
return 0;
}
-bool config_get_entry_name(char *ret, size_t index, size_t limit) {
+static bool config_get_entry_name(char *ret, size_t index, size_t limit) {
if (!config_ready)
return false;
@@ -318,7 +328,7 @@ bool config_get_entry_name(char *ret, size_t index, size_t limit) {
return true;
}
-char *config_get_entry(size_t *size, size_t index) {
+static char *config_get_entry(size_t *size, size_t index) {
if (!config_ready)
return NULL;
diff --git a/common/lib/config.h b/common/lib/config.h
index 9ea2f016..6ae5794a 100644
--- a/common/lib/config.h
+++ b/common/lib/config.h
@@ -29,8 +29,6 @@ int init_config_disk(struct volume *part);
int init_config_pxe(void);
int init_config(size_t config_size);
-bool config_get_entry_name(char *ret, size_t index, size_t limit);
-char *config_get_entry(size_t *size, size_t index);
char *config_get_value(const char *config, size_t index, const char *key);
struct conf_tuple config_get_tuple(const char *config, size_t index,
const char *key1, const char *key2);
