Changeset 2334:9c528367ad88 in roaraudio


Ignore:
Timestamp:
08/09/09 16:24:47 (15 years ago)
Author:
phi
Branch:
default
Phase:
public
Message:

added support to roar_buffer_set_len() to increment the buffer size

File:
1 edited

Legend:

Unmodified
Added
Removed
  • libroar/buffer.c

    r2333 r2334  
    284284 
    285285int roar_buffer_set_len  (struct roar_buffer *  buf, size_t    len) { 
    286  if ( buf == NULL ) 
    287   return -1; 
    288  
    289  buf->user_len = len; 
     286 size_t   totlen; 
     287 void   * newbuf; 
     288 
     289 if ( buf == NULL ) 
     290  return -1; 
     291 
     292 if ( len > buf->user_len ) { 
     293  totlen = buf->len - buf->user_len + len; 
     294  newbuf = realloc(buf->data, totlen); 
     295  if ( newbuf == NULL ) 
     296   return -1; 
     297 
     298  buf->data = newbuf; 
     299  buf->user_len = len; 
     300 } else { 
     301  buf->user_len = len; 
     302 } 
    290303 
    291304 return 0; 
Note: See TracChangeset for help on using the changeset viewer.