
Hi Andreas,
On 25/03/2016 14:52, Andreas Fenkart wrote:
fw_senten/fw_printenv can be compiled as a tools library, excluding the fw_env_main object.
Reported-by: Stefano Babic sbabic@denx.de Signed-off-by: Andreas Fenkart andreas.fenkart@digitalstrom.com
tools/env/fw_env.c | 4 ++++ tools/env/fw_env_main.c | 4 ---- 2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/tools/env/fw_env.c b/tools/env/fw_env.c index ee17a69..2533dc4 100644 --- a/tools/env/fw_env.c +++ b/tools/env/fw_env.c @@ -34,6 +34,10 @@
#include "fw_env.h"
+struct common_args common_args; +struct printenv_args printenv_args; +struct setenv_args setenv_args;
This solves linking, but this makes the functions not reentrant. What about to pass the parameters to the exported functions without any global structure ?
#define DIV_ROUND_UP(n, d) (((n) + (d) - 1) / (d))
#define WHITESPACE(c) ((c == '\t') || (c == ' ')) diff --git a/tools/env/fw_env_main.c b/tools/env/fw_env_main.c index 4bd4216..3065de9 100644 --- a/tools/env/fw_env_main.c +++ b/tools/env/fw_env_main.c @@ -49,10 +49,6 @@ static struct option long_options[] = { {NULL, 0, NULL, 0} };
-struct common_args common_args; -struct printenv_args printenv_args; -struct setenv_args setenv_args;
void usage_printenv(void) {
Best regards, Stefano Babic