Commit 14070e69 authored by Andreas Fenkart's avatar Andreas Fenkart Committed by Tom Rini

tools/env: allow to pass NULL for environment options

If users of the library are happy with the default, e.g. config file
name. They can pass NULL as the opts pointer. This simplifies the
transition of existing library users.
FIXES a compile error. since common_args has been removed by
a previous patch
Signed-off-by: default avatarAndreas Fenkart <andreas.fenkart@digitalstrom.com>
parent 6f41751f
......@@ -35,6 +35,12 @@
#include "fw_env.h"
struct env_opts default_opts = {
#ifdef CONFIG_FILE
.config_file = CONFIG_FILE
#endif
};
#define DIV_ROUND_UP(n, d) (((n) + (d) - 1) / (d))
#define min(x, y) ({ \
......@@ -229,6 +235,9 @@ int fw_printenv(int argc, char *argv[], int value_only, struct env_opts *opts)
char *env, *nxt;
int i, rc = 0;
if (!opts)
opts = &default_opts;
if (fw_env_open(opts))
return -1;
......@@ -289,6 +298,9 @@ int fw_env_close(struct env_opts *opts)
{
int ret;
if (!opts)
opts = &default_opts;
if (opts->aes_flag) {
ret = env_aes_cbc_crypt(environment.data, 1,
opts->aes_key);
......@@ -452,6 +464,9 @@ int fw_setenv(int argc, char *argv[], struct env_opts *opts)
char *value = NULL;
int valc;
if (!opts)
opts = &default_opts;
if (argc < 1) {
fprintf(stderr, "## Error: variable name missing\n");
errno = EINVAL;
......@@ -524,6 +539,9 @@ int fw_parse_script(char *fname, struct env_opts *opts)
int len;
int ret = 0;
if (!opts)
opts = &default_opts;
if (fw_env_open(opts)) {
fprintf(stderr, "Error: environment not initialized\n");
return -1;
......@@ -1139,6 +1157,9 @@ int fw_env_open(struct env_opts *opts)
struct env_image_single *single;
struct env_image_redundant *redundant;
if (!opts)
opts = &default_opts;
if (parse_config(opts)) /* should fill envdevices */
return -1;
......@@ -1312,10 +1333,10 @@ static int parse_config(struct env_opts *opts)
{
struct stat st;
#if defined(CONFIG_FILE)
if (!common_args.config_file)
common_args.config_file = CONFIG_FILE;
if (!opts)
opts = &default_opts;
#if defined(CONFIG_FILE)
/* Fills in DEVNAME(), ENVSIZE(), DEVESIZE(). Or don't. */
if (get_config(opts->config_file)) {
fprintf(stderr, "Cannot parse config file '%s': %m\n",
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment