Diff for /libelwix/src/vars.c between versions 1.9.56.2 and 1.9.56.3

version 1.9.56.2, 2022/01/24 16:01:49 version 1.9.56.3, 2022/01/24 17:07:24
Line 252  buffer2vars(u_char * __restrict buf, int buflen, int v Line 252  buffer2vars(u_char * __restrict buf, int buflen, int v
 /*  /*
  * ait_vars2tlv() - Marshaling data from array with variables to TLV buffer   * ait_vars2tlv() - Marshaling data from array with variables to TLV buffer
  *   *
 * @buf = Buffer * @buf = Buffer, If =NULL then we return only needed buffer size
  * @buflen = Size of buffer   * @buflen = Size of buffer
  * @vars = Variable array   * @vars = Variable array
  * return: -1 error, 0 nothing done or >0 size of marshaled data   * return: -1 error, 0 nothing done or >0 size of marshaled data
Line 265  ait_vars2tlv(u_char * __restrict buf, int buflen, arra Line 265  ait_vars2tlv(u_char * __restrict buf, int buflen, arra
         ait_val_t *val;          ait_val_t *val;
         u_char *dat;          u_char *dat;
   
         assert(buf);  
         assert(vars);          assert(vars);
        if (!buf || !vars)        if (!vars)
                 return -1;                  return -1;
        if (!buflen || !array_Size(vars))        if (!array_Size(vars))
                 return 0;                  return 0;
   
         /* calculate amount of data into buffer */          /* calculate amount of data into buffer */
        for (i = 0, Limit = 0; i < array_Size(vars); i++,         for (i = 0, Limit = 0; i < array_Size(vars); 
                        Limit += 5 + AIT_LEN(array(vars, i, ait_val_t*)));                        Limit += 5 + AIT_LEN(array(vars, i, ait_val_t*)), i++);
         /* check only needed buffer size */
         if (!buf)
                 return Limit;
 
         if (Limit > buflen) {          if (Limit > buflen) {
                 elwix_SetErr(EMSGSIZE, "Short buffer buflen=%d needed min %d",                   elwix_SetErr(EMSGSIZE, "Short buffer buflen=%d needed min %d", 
                                 buflen, Limit);                                  buflen, Limit);
Line 369  ait_tlv2vars(u_char * __restrict buf, int buflen) Line 372  ait_tlv2vars(u_char * __restrict buf, int buflen)
                 return NULL;                  return NULL;
   
         /* de-marshaling */          /* de-marshaling */
        for (i = 0, dat = buf; i < buflen; i++) {        for (i = 0, dat = buf; *dat != empty && dat < (buf + buflen); i++) {
                 val = ait_getVars(&vars, i);                  val = ait_getVars(&vars, i);
                 if (!val) {                  if (!val) {
                         ait_freeVars(&vars);                          ait_freeVars(&vars);

Removed from v.1.9.56.2  
changed lines
  Added in v.1.9.56.3


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