summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMarc Kleine-Budde <mkl@pengutronix.de>2015-06-18 12:03:20 +0200
committerMarc Kleine-Budde <mkl@pengutronix.de>2015-06-18 12:03:20 +0200
commit784ead0b2c37242c571abfbc10b3458bd65025f3 (patch)
tree7f578a4433e3ee010c129f3c38a1a09ab7cac0c4 /src
parent9fb18621550dfbbc72041047d9d296315d1f5b21 (diff)
downloaddt-utils-784ead0b2c37242c571abfbc10b3458bd65025f3.tar.gz
dt-utils-784ead0b2c37242c571abfbc10b3458bd65025f3.tar.xz
barebox-sate: import from barebox
improve fixed string support, trailing zero is not needed. Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
Diffstat (limited to 'src')
-rw-r--r--src/barebox-state.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/barebox-state.c b/src/barebox-state.c
index 68ec60d..748a5b4 100644
--- a/src/barebox-state.c
+++ b/src/barebox-state.c
@@ -470,8 +470,8 @@ static int state_string_export(struct state_variable *var,
}
if (string->value)
- ret = of_set_property(node, "value", string->raw,
- strlen(string->raw) + 1, 1);
+ ret = of_set_property(node, "value", string->value,
+ strlen(string->value) + 1, 1);
return ret;
}
@@ -482,7 +482,7 @@ static int state_string_copy_to_raw(struct state_string *string,
size_t len;
len = strlen(src);
- if (len >= string->var.size)
+ if (len > string->var.size)
return -EILSEQ;
/* copy string and clear remaining contents of buffer */
@@ -503,7 +503,7 @@ static int state_string_import(struct state_variable *sv,
of_property_read_string(node, "default", &string->value_default);
if (string->value_default) {
len = strlen(string->value_default);
- if (len >= string->var.size)
+ if (len > string->var.size)
return -EILSEQ;
}
@@ -536,7 +536,7 @@ static int state_string_get(struct param_d *p, void *priv)
free(string->value);
if (string->raw[0])
- string->value = xstrdup(string->raw);
+ string->value = xstrndup(string->raw, string->var.size);
else
string->value = xstrdup("");