]> git.kernelconcepts.de Git - karo-tx-uboot.git/blobdiff - common/cmd_nvedit.c
cmd_nvedit: use explicit typecast for printf
[karo-tx-uboot.git] / common / cmd_nvedit.c
index 3d30c321d5bae2a845fa2d00ab3db3ed8d4d3a4c..6d8512aecbcf1d5f2ca176fe6425f06ea6e8d78f 100644 (file)
@@ -76,6 +76,8 @@ SPI_FLASH|MG_DISK|NVRAM|MMC|NOWHERE}
  */
 #define        MAX_ENV_SIZE    (1 << 20)       /* 1 MiB */
 
+ulong load_addr = CONFIG_SYS_LOAD_ADDR;        /* Default Load Address */
+
 /*
  * Table with supported baudrates (defined in config_xyz.h)
  */
@@ -111,7 +113,7 @@ static int env_print(char *name)
 
                e.key = name;
                e.data = NULL;
-               ep = hsearch (e, FIND);
+               hsearch_r(e, FIND, &ep, &env_htab);
                if (ep == NULL)
                        return 0;
                len = printf ("%s=%s\n", ep->key, ep->data);
@@ -119,7 +121,7 @@ static int env_print(char *name)
        }
 
        /* print whole list */
-       len = hexport('\n', &res, 0);
+       len = hexport_r(&env_htab, '\n', &res, 0);
 
        if (len > 0) {
                puts(res);
@@ -184,7 +186,7 @@ int _do_env_set (int flag, int argc, char * const argv[])
         */
        e.key = name;
        e.data = NULL;
-       ep = hsearch (e, FIND);
+       hsearch_r(e, FIND, &ep, &env_htab);
 
        /* Check for console redirection */
        if (strcmp(name,"stdin") == 0) {
@@ -267,7 +269,7 @@ int _do_env_set (int flag, int argc, char * const argv[])
 
        /* Delete only ? */
        if ((argc < 3) || argv[2] == NULL) {
-               int rc = hdelete(name);
+               int rc = hdelete_r(name, &env_htab);
                return !rc;
        }
 
@@ -293,7 +295,7 @@ int _do_env_set (int flag, int argc, char * const argv[])
 
        e.key  = name;
        e.data = value;
-       ep = hsearch(e, ENTER);
+       hsearch_r(e, ENTER, &ep, &env_htab);
        free(value);
        if (!ep) {
                printf("## Error inserting \"%s\" variable, errno=%d\n",
@@ -456,7 +458,7 @@ char *getenv (char *name)
 
                e.key  = name;
                e.data = NULL;
-               ep = hsearch (e, FIND);
+               hsearch_r(e, FIND, &ep, &env_htab);
 
                return (ep ? ep->data : NULL);
        }
@@ -545,8 +547,7 @@ int envmatch (uchar *s1, int i2)
 static int do_env_default(cmd_tbl_t * cmdtp, int flag, int argc, char * const argv[])
 {
        if ((argc != 2) || (strcmp(argv[1], "-f") != 0)) {
-               cmd_usage(cmdtp);
-               return 1;
+               return cmd_usage(cmdtp);
        }
        set_default_env("## Resetting to default environment\n");
        return 0;
@@ -633,15 +634,13 @@ static int do_env_export(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv
                                sep = '\n';
                                break;
                        default:
-                               cmd_usage(cmdtp);
-                               return 1;
+                               return cmd_usage(cmdtp);
                        }
                }
        }
 
        if (argc < 1) {
-               cmd_usage(cmdtp);
-               return 1;
+               return cmd_usage(cmdtp);
        }
 
        addr = (char *)simple_strtoul(argv[0], NULL, 16);
@@ -654,13 +653,13 @@ static int do_env_export(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv
        }
 
        if (sep) {              /* export as text file */
-               len = hexport(sep, &addr, size);
+               len = hexport_r(&env_htab, sep, &addr, size);
                if (len < 0) {
                        error("Cannot export environment: errno = %d\n",
                                errno);
                        return 1;
                }
-               sprintf(buf, "%zX", len);
+               sprintf(buf, "%zX", (size_t)len);
                setenv("filesize", buf);
 
                return 0;
@@ -673,7 +672,7 @@ static int do_env_export(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv
        else                    /* export as raw binary data */
                res = addr;
 
-       len = hexport('\0', &res, ENV_SIZE);
+       len = hexport_r(&env_htab, '\0', &res, ENV_SIZE);
        if (len < 0) {
                error("Cannot export environment: errno = %d\n",
                        errno);
@@ -686,7 +685,7 @@ static int do_env_export(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv
                envp->flags = ACTIVE_FLAG;
 #endif
        }
-       sprintf(buf, "%zX", len + offsetof(env_t,data));
+       sprintf(buf, "%zX", (size_t)(len + offsetof(env_t,data)));
        setenv("filesize", buf);
 
        return 0;
@@ -744,15 +743,13 @@ static int do_env_import(cmd_tbl_t * cmdtp, int flag, int argc, char * const arg
                                del = 1;
                                break;
                        default:
-                               cmd_usage(cmdtp);
-                               return 1;
+                               return cmd_usage(cmdtp);
                        }
                }
        }
 
        if (argc < 1) {
-               cmd_usage(cmdtp);
-               return 1;
+               return cmd_usage(cmdtp);
        }
 
        if (!fmt)
@@ -795,7 +792,7 @@ static int do_env_import(cmd_tbl_t * cmdtp, int flag, int argc, char * const arg
                addr = (char *)ep->data;
        }
 
-       if (himport(addr, size, sep, del ? 0 : H_NOCLEAR) == 0) {
+       if (himport_r(&env_htab, addr, size, sep, del ? 0 : H_NOCLEAR) == 0) {
                error("Environment import failed: errno = %d\n", errno);
                return 1;
        }
@@ -837,7 +834,7 @@ static cmd_tbl_t cmd_env_sub[] = {
        U_BOOT_CMD_MKENT(set, CONFIG_SYS_MAXARGS, 0, do_env_set, "", ""),
 };
 
-#if !defined(CONFIG_RELOC_FIXUP_WORKS)
+#if defined(CONFIG_NEEDS_MANUAL_RELOC)
 void env_reloc(void)
 {
        fixup_cmdtable(cmd_env_sub, ARRAY_SIZE(cmd_env_sub));
@@ -848,6 +845,9 @@ static int do_env (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
        cmd_tbl_t *cp;
 
+       if (argc < 2)
+               return cmd_usage(cmdtp);
+
        /* drop initial "env" arg */
        argc--;
        argv++;
@@ -857,8 +857,7 @@ static int do_env (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
        if (cp)
                return cp->cmd(cmdtp, flag, argc, argv);
 
-       cmd_usage(cmdtp);
-       return 1;
+       return cmd_usage(cmdtp);
 }
 
 U_BOOT_CMD(
@@ -886,29 +885,32 @@ U_BOOT_CMD(
  */
 
 #if defined(CONFIG_CMD_EDITENV)
-U_BOOT_CMD(
+U_BOOT_CMD_COMPLETE(
        editenv, 2, 0,  do_env_edit,
        "edit environment variable",
        "name\n"
-       "    - edit environment variable 'name'"
+       "    - edit environment variable 'name'",
+       var_complete
 );
 #endif
 
-U_BOOT_CMD(
+U_BOOT_CMD_COMPLETE(
        printenv, CONFIG_SYS_MAXARGS, 1,        do_env_print,
        "print environment variables",
        "\n    - print values of all environment variables\n"
        "printenv name ...\n"
-       "    - print value of environment variable 'name'"
+       "    - print value of environment variable 'name'",
+       var_complete
 );
 
-U_BOOT_CMD(
+U_BOOT_CMD_COMPLETE(
        setenv, CONFIG_SYS_MAXARGS, 0,  do_env_set,
        "set environment variables",
        "name value ...\n"
        "    - set environment variable 'name' to 'value ...'\n"
        "setenv name\n"
-       "    - delete environment variable 'name'"
+       "    - delete environment variable 'name'",
+       var_complete
 );
 
 #if defined(CONFIG_CMD_ASKENV)
@@ -929,10 +931,11 @@ U_BOOT_CMD(
 #endif
 
 #if defined(CONFIG_CMD_RUN)
-U_BOOT_CMD(
+U_BOOT_CMD_COMPLETE(
        run,    CONFIG_SYS_MAXARGS,     1,      do_run,
        "run commands in an environment variable",
        "var [...]\n"
-       "    - run the commands in the environment variable(s) 'var'"
+       "    - run the commands in the environment variable(s) 'var'",
+       var_complete
 );
 #endif