From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lukasz Majewski Date: Fri, 27 Oct 2017 12:49:06 +0200 Subject: [U-Boot] [PATCH] tools: env: allow to print U-Boot version In-Reply-To: <20171026125753.7017-1-stefan@agner.ch> References: <20171026125753.7017-1-stefan@agner.ch> Message-ID: <20171027124906.5622f272@jawa> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de On Thu, 26 Oct 2017 14:57:53 +0200 Stefan Agner wrote: > From: Stefan Agner > > The fw_env utility family has a default environment compiled in > which ties it quite strongly to the U-Boot source/config it has > been built with. Allow to display the U-Boot version it has been > built with using the -v/--version argument. > > Signed-off-by: Stefan Agner > --- > > tools/env/fw_env_main.c | 14 +++++++++++--- > 1 file changed, 11 insertions(+), 3 deletions(-) > > diff --git a/tools/env/fw_env_main.c b/tools/env/fw_env_main.c > index 6e278ca80b..0b9063742c 100644 > --- a/tools/env/fw_env_main.c > +++ b/tools/env/fw_env_main.c > @@ -34,6 +34,7 @@ > #include > #include > #include > +#include > #include "fw_env_private.h" > #include "fw_env.h" > > @@ -48,6 +49,7 @@ static struct option long_options[] = { > {"script", required_argument, NULL, 's'}, > {"noheader", required_argument, NULL, 'n'}, > {"lock", required_argument, NULL, 'l'}, > + {"version", no_argument, NULL, 'v'}, > {NULL, 0, NULL, 0} > }; > > @@ -67,6 +69,7 @@ void usage_printenv(void) > "Print variables from U-Boot environment\n" > "\n" > " -h, --help print this help.\n" > + " -v, --version display version\n" > #ifdef CONFIG_ENV_AES > " -a, --aes aes key to access > environment\n" #endif > @@ -85,6 +88,7 @@ void usage_env_set(void) > "Modify variables in U-Boot environment\n" > "\n" > " -h, --help print this help.\n" > + " -v, --version display version\n" > #ifdef CONFIG_ENV_AES > " -a, --aes aes key to access > environment\n" #endif > @@ -123,7 +127,7 @@ static void parse_common_args(int argc, char > *argv[]) env_opts.config_file = CONFIG_FILE; > #endif > > - while ((c = getopt_long(argc, argv, ":a:c:l:h", > long_options, NULL)) != > + while ((c = getopt_long(argc, argv, ":a:c:l:h:v", > long_options, NULL)) != EOF) { > switch (c) { > case 'a': > @@ -145,6 +149,10 @@ static void parse_common_args(int argc, char > *argv[]) do_printenv ? usage_printenv() : usage_env_set(); > exit(EXIT_SUCCESS); > break; > + case 'v': > + fprintf(stderr, "Compiled with " > U_BOOT_VERSION "\n"); > + exit(EXIT_SUCCESS); > + break; > default: > /* ignore unknown options */ > break; > @@ -162,7 +170,7 @@ int parse_printenv_args(int argc, char *argv[]) > > parse_common_args(argc, argv); > > - while ((c = getopt_long(argc, argv, "a:c:ns:l:h", > long_options, NULL)) > + while ((c = getopt_long(argc, argv, "a:c:ns:l:h:v", > long_options, NULL)) != EOF) { > switch (c) { > case 'n': > @@ -189,7 +197,7 @@ int parse_setenv_args(int argc, char *argv[]) > > parse_common_args(argc, argv); > > - while ((c = getopt_long(argc, argv, "a:c:ns:l:h", > long_options, NULL)) > + while ((c = getopt_long(argc, argv, "a:c:ns:l:h:v", > long_options, NULL)) != EOF) { > switch (c) { > case 's': Reviewed-by: Lukasz Majewski Best regards, Lukasz Majewski -- DENX Software Engineering GmbH, Managing Director: Wolfgang Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de