Diff for /embedtools/src/ub_env.c between versions 1.1.2.12 and 1.1.2.14

version 1.1.2.12, 2014/01/29 13:31:13 version 1.1.2.14, 2014/01/29 13:46:16
Line 9  ub_flash_io(const char *csSec, int mode) Line 9  ub_flash_io(const char *csSec, int mode)
 {  {
         int f, l, rlen;          int f, l, rlen;
         const char *str;          const char *str;
        size_t siz, esiz;        ssize_t siz, esiz;
         ait_val_t v;          ait_val_t v;
         u_int crc;          u_int crc;
   
Line 48  ub_flash_io(const char *csSec, int mode) Line 48  ub_flash_io(const char *csSec, int mode)
         }          }
   
         if (mode & O_RDWR) {          if (mode & O_RDWR) {
                   env->env_crc = crc32(0, (u_char*) env->env_data, esiz);
                 rlen = write(f, env, siz);                  rlen = write(f, env, siz);
                 if (rlen != siz)                  if (rlen != siz)
                         printf("Error:: written %d bytes != %d\n", rlen, siz);                          printf("Error:: written %d bytes != %d\n", rlen, siz);
Line 64  ub_flash_io(const char *csSec, int mode) Line 65  ub_flash_io(const char *csSec, int mode)
   
         crc = crc32(0, (u_char*) env->env_data, esiz);          crc = crc32(0, (u_char*) env->env_data, esiz);
         if (crc != env->env_crc)          if (crc != env->env_crc)
                VERB(1) printf("Warning:: Flash crc32 0x%x != 0x%x - "                VERB(1) printf("Warning:: Bad CRC, Flash crc32 0x%x != 0x%x\n", 
                                "Bad CRC, using default environment\n", env->env_crc, crc);                                env->env_crc, crc);
   
         close(f);          close(f);
         close(l);          close(l);
Line 121  const char* Line 122  const char*
 ub_getenv(const char *csSec, const char *csName)  ub_getenv(const char *csSec, const char *csName)
 {  {
         char *e, *nxt;          char *e, *nxt;
        size_t dlen;        size_t dlen = 0;
         const char *str = NULL;          const char *str = NULL;
   
         FTRACE(3);          FTRACE(3);
Line 130  ub_getenv(const char *csSec, const char *csName) Line 131  ub_getenv(const char *csSec, const char *csName)
         if (!str) {          if (!str) {
                 str = cfg_getAttribute(&cfg, csSec, "drive_size");                  str = cfg_getAttribute(&cfg, csSec, "drive_size");
                 if (!str)                  if (!str)
                        return -1;                        return NULL;
                 dlen -= sizeof env->env_crc;
         }          }
        dlen = strtol(str, NULL, 0);        dlen += strtol(str, NULL, 0);
         if (!dlen)          if (!dlen)
                 return NULL;                  return NULL;
         else          else
Line 157  int Line 159  int
 ub_setenv(const char *csSec, const char *csName, const char *csValue)  ub_setenv(const char *csSec, const char *csName, const char *csValue)
 {  {
         char *e, *nxt;          char *e, *nxt;
        size_t dlen, len;        ssize_t dlen = 0, len;
         const char *str, *old = NULL;          const char *str, *old = NULL;
   
         FTRACE(3);          FTRACE(3);
Line 167  ub_setenv(const char *csSec, const char *csName, const Line 169  ub_setenv(const char *csSec, const char *csName, const
                 str = cfg_getAttribute(&cfg, csSec, "drive_size");                  str = cfg_getAttribute(&cfg, csSec, "drive_size");
                 if (!str)                  if (!str)
                         return -1;                          return -1;
                   dlen -= sizeof env->env_crc;
         }          }
        dlen = strtol(str, NULL, 0);        dlen += strtol(str, NULL, 0);
         if (!dlen)          if (!dlen)
                 return -1;                  return -1;
         else          else
Line 235  int Line 238  int
 ub_env(const char *csSec)  ub_env(const char *csSec)
 {  {
         char *e, *nxt;          char *e, *nxt;
        size_t dlen;        ssize_t dlen = 0;
         const char *str;          const char *str;
   
         FTRACE(3);          FTRACE(3);
Line 245  ub_env(const char *csSec) Line 248  ub_env(const char *csSec)
                 str = cfg_getAttribute(&cfg, csSec, "drive_size");                  str = cfg_getAttribute(&cfg, csSec, "drive_size");
                 if (!str)                  if (!str)
                         return -1;                          return -1;
                   dlen -= sizeof env->env_crc;
         }          }
        dlen = strtol(str, NULL, 0);        dlen += strtol(str, NULL, 0);
         if (!dlen)          if (!dlen)
                 return -1;                  return -1;
         else          else

Removed from v.1.1.2.12  
changed lines
  Added in v.1.1.2.14


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