]> git.sur5r.net Git - u-boot/blobdiff - common/cmd_nvedit.c
NAND: add NAND_CMD_PARAM (0xec) definition
[u-boot] / common / cmd_nvedit.c
index 3d30c321d5bae2a845fa2d00ab3db3ed8d4d3a4c..f8c79763bf97a5b270257c0f24beda5e554397c7 100644 (file)
@@ -111,7 +111,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 +119,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 +184,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 +267,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 +293,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 +456,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 +545,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 +632,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,7 +651,7 @@ 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);
@@ -673,7 +670,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);
@@ -744,15 +741,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 +790,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 +832,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 +843,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 +855,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 +883,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 +929,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