Diff for /libelwix/src/vars.c between versions 1.5.4.1 and 1.9

version 1.5.4.1, 2013/11/14 13:58:12 version 1.9, 2016/05/18 12:47:42
Line 12  terms: Line 12  terms:
 All of the documentation and software included in the ELWIX and AITNET  All of the documentation and software included in the ELWIX and AITNET
 Releases is copyrighted by ELWIX - Sofia/Bulgaria <info@elwix.org>  Releases is copyrighted by ELWIX - Sofia/Bulgaria <info@elwix.org>
   
Copyright 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013Copyright 2004 - 2015
         by Michael Pounov <misho@elwix.org>.  All rights reserved.          by Michael Pounov <misho@elwix.org>.  All rights reserved.
   
 Redistribution and use in source and binary forms, with or without  Redistribution and use in source and binary forms, with or without
Line 417  ait_freeVars(array_t ** __restrict vars) Line 417  ait_freeVars(array_t ** __restrict vars)
   
         for (i = 0; i < array_Size(*vars); i++)          for (i = 0; i < array_Size(*vars); i++)
                 if ((v = array(*vars, i, ait_val_t*))) {                  if ((v = array(*vars, i, ait_val_t*))) {
                         AIT_FREE_VAL(v);  
                         /* free memory if isn't zero copy */                          /* free memory if isn't zero copy */
                        if (!AIT_IN(v) && (*vars)->arr_data[i]) {                        if (!AIT_IN(v)) {
                                e_free((*vars)->arr_data[i]);                                AIT_FREE_VAL(v);
                                (*vars)->arr_data[i] = NULL;                                if ((*vars)->arr_data[i])
                        }                                        e_free((*vars)->arr_data[i]);
                         } else
                                 AIT_FREE_VAL(v);
                         (*vars)->arr_data[i] = NULL;
                 }                  }
         (*vars)->arr_last = -1;          (*vars)->arr_last = -1;
   
Line 792  ait_sprintfVar(ait_val_t * __restrict v, const char *f Line 794  ait_sprintfVar(ait_val_t * __restrict v, const char *f
 {  {
         int ret = 0;          int ret = 0;
         va_list lst;          va_list lst;
        char *str = NULL;        char str[STRSIZ] = { [0 ... STRSIZ - 1] = 0 };
   
         if (!v || !fmt)          if (!v || !fmt)
                 return -1;                  return -1;
   
         va_start(lst, fmt);          va_start(lst, fmt);
        ret = vasprintf(&str, fmt, lst);        ret = vsnprintf(str, sizeof str - 1, fmt, lst);
         va_end(lst);          va_end(lst);
   
        if (str && ret > -1) {        if (ret > -1) {
                 AIT_FREE_VAL(v);                  AIT_FREE_VAL(v);
                 AIT_SET_STR(v, str);                  AIT_SET_STR(v, str);
         } else          } else
                 LOGERR;                  LOGERR;
   
         if (str)  
                 free(str);  
         return ret;          return ret;
 }  }
   

Removed from v.1.5.4.1  
changed lines
  Added in v.1.9


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