summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2021-03-23 12:15:22 +0100
committerSascha Hauer <s.hauer@pengutronix.de>2021-03-23 12:15:22 +0100
commitbb2873db3ef11e7b1299b1cca129f5d002e47f59 (patch)
treee53a1697f6ffb81d8f866ddadf3862ab0c04ceef /lib
parent31343957ea42a9340345c17288e56cfa07304bb8 (diff)
parent176bd2605edfd7d64370736abe8c44833068788b (diff)
downloadbarebox-bb2873db3ef11e7b1299b1cca129f5d002e47f59.tar.gz
barebox-bb2873db3ef11e7b1299b1cca129f5d002e47f59.tar.xz
Merge branch 'for-next/misc'
Diffstat (limited to 'lib')
-rw-r--r--lib/parameter.c2
-rw-r--r--lib/stringlist.c23
2 files changed, 23 insertions, 2 deletions
diff --git a/lib/parameter.c b/lib/parameter.c
index f57b7d07fd..173420c58a 100644
--- a/lib/parameter.c
+++ b/lib/parameter.c
@@ -746,7 +746,6 @@ struct param_d *dev_add_param_bitmask(struct device_d *dev, const char *name,
struct param_ip {
struct param_d param;
IPaddr_t *ip;
- const char *format;
int (*set)(struct param_d *p, void *priv);
int (*get)(struct param_d *p, void *priv);
};
@@ -825,7 +824,6 @@ struct param_mac {
struct param_d param;
char *mac;
u8 mac_str[sizeof("xx:xx:xx:xx:xx:xx")];
- const char *format;
int (*set)(struct param_d *p, void *priv);
int (*get)(struct param_d *p, void *priv);
};
diff --git a/lib/stringlist.c b/lib/stringlist.c
index 8e92c1b207..719fecdaa4 100644
--- a/lib/stringlist.c
+++ b/lib/stringlist.c
@@ -60,6 +60,29 @@ int string_list_add_sorted(struct string_list *sl, const char *str)
return 0;
}
+int string_list_add_sort_uniq(struct string_list *sl, const char *str)
+{
+ struct string_list *new, *entry = sl;
+
+ string_list_for_each_entry(entry, sl) {
+ int cmp = strcmp(entry->str, str);
+
+ if (cmp < 0)
+ continue;
+ if (cmp == 0)
+ return 0;
+
+ break;
+ }
+
+ new = xmalloc(sizeof(*new));
+ new->str = xstrdup(str);
+
+ list_add_tail(&new->list, &entry->list);
+
+ return 0;
+}
+
int string_list_contains(struct string_list *sl, const char *str)
{
struct string_list *entry;