summaryrefslogtreecommitdiffstats
path: root/commands
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2020-12-11 13:31:14 +0100
committerSascha Hauer <s.hauer@pengutronix.de>2020-12-11 13:31:14 +0100
commitb33e3e0f99946260200a43e783488416eeed112a (patch)
tree9f48d7f56344d98b0e6abc7b34c0fda0e19cb5be /commands
parent2d525e7ee0a8059881e725db7d3f1d8ebb5e63f5 (diff)
parent8bc9efc85b8af8a23a0c86b04e2265730a220ade (diff)
downloadbarebox-b33e3e0f99946260200a43e783488416eeed112a.tar.gz
barebox-b33e3e0f99946260200a43e783488416eeed112a.tar.xz
Merge branch 'for-next/misc'
Diffstat (limited to 'commands')
-rw-r--r--commands/boot.c13
-rw-r--r--commands/export.c4
-rw-r--r--commands/global.c6
-rw-r--r--commands/memtester/memtester.c2
-rw-r--r--commands/nv.c7
-rw-r--r--commands/readlink.c2
-rw-r--r--commands/setenv.c18
7 files changed, 21 insertions, 31 deletions
diff --git a/commands/boot.c b/commands/boot.c
index d7795bde72..18f4e36ec7 100644
--- a/commands/boot.c
+++ b/commands/boot.c
@@ -97,19 +97,16 @@ static int do_boot(int argc, char *argv[])
if (list_empty(&entries->entries)) {
printf("Nothing bootable found\n");
- return COMMAND_ERROR;
- }
-
- if (do_list) {
- bootsources_list(entries);
+ ret = COMMAND_ERROR;
goto out;
}
- if (do_menu) {
+ if (do_list)
+ bootsources_list(entries);
+ else if (do_menu)
bootsources_menu(entries, timeout);
- goto out;
- }
+ ret = 0;
out:
bootentries_free(entries);
free(freep);
diff --git a/commands/export.c b/commands/export.c
index 8972b7d528..c69f1595c6 100644
--- a/commands/export.c
+++ b/commands/export.c
@@ -20,10 +20,8 @@ static int do_export(int argc, char *argv[])
return COMMAND_ERROR_USAGE;
while (i < argc) {
- if ((ptr = strchr(argv[i], '='))) {
- *ptr++ = 0;
+ if ((ptr = parse_assignment(argv[i])))
setenv(argv[i], ptr);
- }
if (export(argv[i])) {
printf("could not export: %s\n", argv[i]);
return 1;
diff --git a/commands/global.c b/commands/global.c
index 15b6a9f3d3..cf8e9a5b48 100644
--- a/commands/global.c
+++ b/commands/global.c
@@ -37,11 +37,7 @@ static int do_global(int argc, char *argv[])
return COMMAND_ERROR_USAGE;
for (i = 0; i < argc; i++) {
- value = strchr(argv[i], '=');
- if (value) {
- *value = 0;
- value++;
- }
+ value = parse_assignment(argv[i]);
if (do_remove)
globalvar_remove(argv[i]);
diff --git a/commands/memtester/memtester.c b/commands/memtester/memtester.c
index 8b64d32329..130dc97c83 100644
--- a/commands/memtester/memtester.c
+++ b/commands/memtester/memtester.c
@@ -139,7 +139,7 @@ static int do_memtester(int argc, char **argv) {
wantbytes = (size_t) strtoull_suffix(argv[optind], 0, 0);
if (wantbytes < 2 * sizeof(ul)) {
- printf("need at least %ldB of memory to test\n", 2 * sizeof(ul));
+ printf("need at least %zuB of memory to test\n", 2 * sizeof(ul));
return COMMAND_ERROR_USAGE;
}
wantmb = (wantbytes >> 20);
diff --git a/commands/nv.c b/commands/nv.c
index 8d4192402c..c60bb41677 100644
--- a/commands/nv.c
+++ b/commands/nv.c
@@ -55,11 +55,8 @@ static int do_nv(int argc, char *argv[])
for (i = 0; i < argc; i++) {
int ret;
- value = strchr(argv[0], '=');
- if (value) {
- *value = 0;
- value++;
- }
+
+ value = parse_assignment(argv[i]) ?: "";
if (do_remove) {
ret = nvvar_remove(argv[i]);
diff --git a/commands/readlink.c b/commands/readlink.c
index fdcf175f56..81ad25c733 100644
--- a/commands/readlink.c
+++ b/commands/readlink.c
@@ -50,7 +50,7 @@ static int do_readlink(int argc, char *argv[])
return 0;
err:
- setenv(argv[optind + 1], "");
+ unsetenv(argv[optind + 1]);
return 1;
}
diff --git a/commands/setenv.c b/commands/setenv.c
index ad26770655..99604c35c3 100644
--- a/commands/setenv.c
+++ b/commands/setenv.c
@@ -9,20 +9,22 @@
static int do_setenv(int argc, char *argv[])
{
- char *equal;
+ char *val;
+ int ret;
if (argc < 2)
return COMMAND_ERROR_USAGE;
- equal = strrchr(argv[1], '=');
- if (equal) {
- equal[0] = '\0';
- if (equal[1])
- argv[2] = &equal[1];
- }
+ val = parse_assignment(argv[1]);
+ if (val)
+ argv[2] = val;
+ if (argv[2])
+ ret = setenv(argv[1], argv[2]);
+ else
+ ret = unsetenv(argv[1]);
- return setenv(argv[1], argv[2]) ? COMMAND_ERROR : COMMAND_SUCCESS;
+ return ret ? COMMAND_ERROR : COMMAND_SUCCESS;
}
BAREBOX_CMD_HELP_START(setenv)