Diff for /libelwix/src/pack.c between versions 1.4 and 1.4.2.2

version 1.4, 2014/02/10 22:50:44 version 1.4.2.2, 2014/02/11 00:41:12
Line 260  rpack_uint64(rpack_t * __restrict rp, uint64_t * __res Line 260  rpack_uint64(rpack_t * __restrict rp, uint64_t * __res
         rp->r_next = next + sizeof(uint64_t);          rp->r_next = next + sizeof(uint64_t);
         return u;          return u;
 }  }
   
   /*
    * rpack_data() - Pack/Unpack align data
    *
    * @rp = raw buffer
    * @dat = data
    * @datlen = data length
    * return: NULL error or != NULL get data, must be e_free() after use!
    */
   void *
   rpack_data(rpack_t * __restrict rp, void * __restrict dat, size_t datlen)
   {
           void *buf = NULL;
           uint8_t *next;
   
           if (!datlen || !RPACK_SANITY(rp))
                   return NULL;
           buf = e_malloc(datlen);
           if (!buf)
                   return NULL;
           /* No space left */
           if (!(next = rpack_align_and_reserve(rp, datlen))) {
                   e_free(buf);
                   return NULL;
           }
   
           memcpy(buf, next, datlen);
           if (dat)
                   memcpy(next, dat, datlen);
   
           rp->r_next = next + datlen;
           return buf;
   }
   
   /*
    * rpack_raw() - Pack/Unpack raw data
    *
    * @rp = raw buffer
    * @dat = data
    * @datlen = data length
    * return: NULL error or != NULL get data, must be e_free() after use!
    */
   void *
   rpack_raw(rpack_t * __restrict rp, void * __restrict dat, size_t datlen)
   {
           void *buf = NULL;
   
           if (!datlen || !RPACK_SANITY(rp))
                   return NULL;
           buf = e_malloc(datlen);
           if (!buf)
                   return NULL;
           /* No space left */
           if (datlen + rp->r_next - rp->r_buf > rp->r_len) {
                   e_free(buf);
                   return NULL;
           }
   
           memcpy(buf, rp->r_next, datlen);
           if (dat)
                   memcpy(rp->r_next, dat, datlen);
   
           rp->r_next += datlen;
           return buf;
   }

Removed from v.1.4  
changed lines
  Added in v.1.4.2.2


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