10 #ifdef CONFIG_LIB_LIBBSC
13 #include <asm/uCbootstrap.h>
14 _bsc1 (int, setbenv, char *, a)
17 #ifndef MAX_ENVNAME_SIZE
18 #define MAX_ENVNAME_SIZE 31
20 #ifndef MAX_ENVDATA_SIZE
21 #define MAX_ENVDATA_SIZE 1024
27 int main(int argc, char *argv[])
30 * Buffer length needs to support a 31 character variable name
31 * an equal sign and a 1024 character value and terminator.
33 char buf[MAX_ENVNAME_SIZE+1+MAX_ENVDATA_SIZE+1];
36 printf("usage: %s varname value\n %s varname\n",argv[0],argv[0]);
40 if ( strchr(argv[1], '=') && argc > 2 ) { /* variable name _MUST_NOT_ include '=' symbol */
41 printf("%s: variable name must not include \"=\"\n", argv[0]);
45 if(strlen(argv[1]) > MAX_ENVNAME_SIZE) {
46 printf("%s: variable name is longer than %d Bytes\n", argv[0], MAX_ENVNAME_SIZE);
49 if(strlen(argv[2]) > MAX_ENVDATA_SIZE) {
50 printf("%s: value is longer than %d Bytes\n", argv[0], MAX_ENVDATA_SIZE);
57 if(strlen(argv[1]) > sizeof(buf)) {
58 /* printf("%s: %s is too large\n", argv[0], argv[1]); */
63 #ifdef CONFIG_LIB_LIBBSC
64 return bsc_setenv(buf);