Changeset 5647:3707f49de5ab in roaraudio


Ignore:
Timestamp:
09/12/12 11:30:22 (12 years ago)
Author:
phi
Branch:
default
Phase:
public
Message:

Added RAT test 'buffer_set_len'.

Files:
1 added
3 edited

Legend:

Unmodified
Added
Removed
  • ChangeLog

    r5646 r5647  
    1313        * Improved kstore API (See: #317) 
    1414        * Updated list of error values. 
     15        * Added RAT test 'buffer_set_len'. 
    1516 
    1617v. 1.0beta5 - Mon Aug 20 2012 23:52 CEST 
  • libroar/buffer.c

    r5637 r5647  
    510510 size_t   totlen; 
    511511 void   * newbuf; 
    512  
    513  _ckbuf(0) 
     512 size_t true_len; 
     513 
     514 ROAR_DBG("roar_buffer_set_len(buf=%p, len=%lu) = ?", buf, (long unsigned int)len); 
     515 
     516 _ckbuf(0) 
     517 
     518 ROAR_DBG("roar_buffer_set_len(buf=%p, len=%lu) = ?", buf, (long unsigned int)len); 
    514519 
    515520 // handle special case where user length is zero: 
     
    519524 } 
    520525 
    521  if ( len > buf->user_len ) { 
     526 ROAR_DBG("roar_buffer_set_len(buf=%p, len=%lu) = ?", buf, (long unsigned int)len); 
     527 
     528 // calculate the true length of our buffer starting at buf->user_data. 
     529 true_len = buf->len - (buf->user_data - buf->data); 
     530 
     531 if ( len > true_len ) { 
     532  ROAR_DBG("roar_buffer_set_len(buf=%p, len=%lu): We need to enlarge the buffer.", buf, (long unsigned int)len); 
     533 
    522534  // we can only enlage a buffer if it's one of our own memory segments 
    523535  if ( buf->flags & ROAR_BUFFER_FLAG_NOFREE )  { 
     536   ROAR_DBG("roar_buffer_set_len(buf=%p, len=%lu) = -1 //error=NOTSUP", buf, (long unsigned int)len); 
    524537   roar_err_set(ROAR_ERROR_NOTSUP); 
    525538   return -1; 
     
    536549  buf->len  = totlen; 
    537550 } else { 
     551  ROAR_DBG("roar_buffer_set_len(buf=%p, len=%lu): No need to enlarge the buffer.", buf, (long unsigned int)len); 
    538552  buf->user_len = len; 
    539553 } 
    540554 
     555 ROAR_DBG("roar_buffer_set_len(buf=%p, len=%lu) = 0", buf, (long unsigned int)len); 
    541556 return 0; 
    542557} 
  • tests/Makefile

    r5478 r5647  
    1717test: sandbox-clean sandbox-install test-all sandbox-clean 
    1818 
    19 test-all: test-runnable test-roard test-rat 
     19test-all: test-runnable test-roard test-rat test-buffer_set_len 
    2020 
    2121test-runnable: 
     
    2828        $(EXEC_HELPER) ./rat-rat 
    2929 
     30test-buffer_set_len: rat.o test-buffer_set_len.o 
     31        $(CC) $(LDFLAGS) -o rat-buffer_set_len rat.o test-buffer_set_len.o -lroar 
     32        LD_LIBRARY_PATH="`pwd`/sandbox/$(PREFIX_LIB)/" $(EXEC_HELPER) ./rat-buffer_set_len 
    3033 
    3134sandbox-install: sandbox 
Note: See TracChangeset for help on using the changeset viewer.