Diff for /embedtools/src/ube.c between versions 1.1.2.1 and 1.1.2.9

version 1.1.2.1, 2014/01/28 08:04:21 version 1.1.2.9, 2014/01/29 01:26:28
Line 2 Line 2
 #include "ub_env.h"  #include "ub_env.h"
   
   
   cfg_root_t cfg;
   int Verbose;
   extern char compiled[], compiledby[], compilehost[];
   
   
   static void
   Usage()
   {
           printf( " -= U-Boot-Env =- Tool for u-boot-env nand map management\n"
                   "=== %s === %s@%s ===\n\n"
                   "  Syntax: ube [options] [set_value]\n"
                   "\n"
                   "\t-c <cfgfile>\tConfig file [default: /etc/ube.conf]\n"
                   "\t-d <descr>\tDrive description into config [default: 64K]\n"
                   "\t-g <name>\tSet parameter to value\n"
                   "\t-s <name>\tGet parameter value\n"
                   "\t-q\t\tQuiet mode\n"
                   "\t-v\t\tVerbose ...\n"
                   "\n", compiled, compiledby, compilehost);
   }
   
   int
   main(int argc, char **argv)
   {
           char ch, mode = 0, szName[STRSIZ] = { 0 }, szVal[STRSIZ] = { 0 }, 
                szCfgName[PATH_MAX], szSec[STRSIZ];
           const char *str;
           int ret = 0;
   
           strlcpy(szCfgName, UBE_CFGNAME, sizeof szCfgName);
           strlcpy(szSec, UBE_SECTION, sizeof szSec);
           while ((ch = getopt(argc, argv, "hvqg:s:c:d:")) != -1)
                   switch (ch) {
                           case 'g':
                                   mode |= 1;
                                   strlcpy(szName, optarg, sizeof szName);
                                   break;
                           case 's':
                                   mode |= 2;
                                   strlcpy(szName, optarg, sizeof szName);
                                   break;
                           case 'c':
                                   strlcpy(szCfgName, optarg, sizeof szCfgName);
                                   break;
                           case 'd':
                                   strlcpy(szSec, optarg, sizeof szSec);
                                   break;
                           case 'v':
                                   Verbose++;
                                   break;
                           case 'q':
                                   mode |= 0x80;
                                   break;
                           case 'h':
                           default:
                                   Usage();
                                   return 1;
                   }
           argc -= optind;
           argv += optind;
           if ((mode & 0x7f) == 2 && argc)
                   strlcpy(szVal, *argv, sizeof szVal);
   
           VERB(1) printf("u-boot-env: mode=0x%hhx name=%s value=%s\n", mode, szName, szVal);
   
           if (cfgLoadConfig(szCfgName, &cfg)) {
                   printf("Error:: cfgLoadConfig() #%d - %s\n", cfg_GetErrno(), cfg_GetError());
                   return 1;
           }
   
           if (ub_load(szSec)) {
                   ret = 1;
                   goto end;
           }
   
           if (!(mode & 0x7f)) {
                   VERB(2) printf("u-boot-env: list variables\n");
                   ub_env(szSec);
           }
   
           if ((mode & 0x7f) & 1) {
                   VERB(2) printf("u-boot-env: get variable %s\n", szName);
                   str = ub_getenv(szSec, szName);
                   if (!str) {
                           printf("Error:: Variable %s not found!\n", szName);
                           ret = 2;
                           goto end;
                   } else if (mode & 0x80)
                           printf("%s\n", str);
                   else
                           printf("%s=%s\n", szName, str);
           }
   
           if ((mode & 0x7f) & 2) {
                   VERB(2) printf("u-boot-env: set variable %s\n", szName);
                   ret = ub_setenv(szSec, szName, argc ? szVal : NULL);
                   if (ret) {
                           printf("Error:: Writing variable %s!\n", szName);
                           ret = 3;
                           goto end;
                   }
                   if (!(mode & 0x80))
                           printf("Done\n");
           }
   
   end:
           ub_unload();
           cfgUnloadConfig(&cfg);
           return ret;
   }

Removed from v.1.1.2.1  
changed lines
  Added in v.1.1.2.9


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>