Currently, the setenv function does not return an error code.  I'd like to
propose the following patch, because I want to be able to test for errors in
a new BSP I'm writing.

Comments invited.

Signed-off-by: Steve Falco <[EMAIL PROTECTED]>

diff --git a/include/common.h b/include/common.h
index d0f5704..e2dfc83 100644
--- a/include/common.h
+++ b/include/common.h
@@ -232,9 +232,9 @@ char        *getenv      (char *);
 int    getenv_r     (char *name, char *buf, unsigned len);
 int    saveenv      (void);
 #ifdef CONFIG_PPC              /* ARM version to be fixed! */
-void inline setenv   (char *, char *);
+int inline setenv   (char *, char *);
 #else
-void   setenv       (char *, char *);
+int    setenv       (char *, char *);
 #ifdef CONFIG_HAS_UID
 void   forceenv     (char *, char *);
 #endif
diff --git a/include/exports.h b/include/exports.h
index d6512cb..6377875 100644
--- a/include/exports.h
+++ b/include/exports.h
@@ -22,7 +22,7 @@ void vprintf(const char *, va_list);
 void do_reset (void);
 unsigned long simple_strtoul(const char *cp,char **endp,unsigned int base);
 char *getenv (char *name);
-void setenv (char *varname, char *varvalue);
+int setenv (char *varname, char *varvalue);
 long simple_strtol(const char *cp,char **endp,unsigned int base);
 int strcmp(const char * cs,const char * ct);
 #ifdef CONFIG_HAS_UID
diff --git a/include/asm-arm/u-boot-arm.h b/include/asm-arm/u-boot-arm.h
index 41e7a8f..4ee5a32 100644
--- a/include/asm-arm/u-boot-arm.h
+++ b/include/asm-arm/u-boot-arm.h
@@ -52,7 +52,7 @@ void  setup_revision_tag (struct tag **params);
 /* To be fixed!                                                        */
 /* ------------------------------------------------------------ */
 /* common/cmd_nvedit.c */
-void   setenv          (char *, char *);
+int    setenv          (char *, char *);
 
 /* cpu/.../interrupt.c */
 void   reset_timer_masked      (void);
diff --git a/common/cmd_nvedit.c b/common/cmd_nvedit.c
index 9c5d1fc..1ac91ea 100644
--- a/common/cmd_nvedit.c
+++ b/common/cmd_nvedit.c
@@ -379,13 +380,13 @@ int _do_setenv (int flag, int argc, char *argv[])
        return 0;
 }
 
-void setenv (char *varname, char *varvalue)
+int setenv (char *varname, char *varvalue)
 {
        char *argv[4] = { "setenv", varname, varvalue, NULL };
        if (varvalue == NULL)
-               _do_setenv (0, 2, argv);
+               return _do_setenv (0, 2, argv);
        else
-               _do_setenv (0, 3, argv);
+               return _do_setenv (0, 3, argv);
 }
 
 #ifdef CONFIG_HAS_UID

-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php
_______________________________________________
U-Boot-Users mailing list
U-Boot-Users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/u-boot-users

Reply via email to