Changeset 3764:2a2b1eb426c4 in roaraudio for libroar/buffer.c
- Timestamp:
- 05/03/10 14:30:48 (14 years ago)
- Branch:
- default
- Phase:
- public
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
libroar/buffer.c
r3517 r3764 36 36 #include "libroar.h" 37 37 38 // TODO: convert this to a macro. 39 // TODO: but still provide a function->symbol 40 // TODO: so we do not need to change SONAME-Version 41 // TODO: Clean this up in next SONAME-Version 38 42 int roar_buffer_new (struct roar_buffer ** buf, size_t len) { 39 void * data; 40 41 if ((data = roar_mm_malloc(len)) == NULL) { 42 return -1; 43 } 44 45 if ( roar_buffer_new_no_ma(buf, len, data) == -1 ) { 46 roar_mm_free(data); 43 return roar_buffer_new_data(buf, len, NULL); 44 } 45 46 int roar_buffer_new_data (struct roar_buffer ** buf, size_t len, void ** data) { 47 void * bufdata; 48 49 if ((bufdata = roar_mm_malloc(len)) == NULL) { 50 return -1; 51 } 52 53 if ( roar_buffer_new_no_ma(buf, len, bufdata) == -1 ) { 54 roar_mm_free(bufdata); 47 55 return -1; 48 56 } … … 50 58 if ( roar_buffer_set_flag(*buf, ROAR_BUFFER_FLAG_NOFREE, ROAR_BUFFER_RESET) == -1 ) { 51 59 roar_buffer_free(*buf); 52 roar_mm_free(data); 53 return -1; 54 } 60 roar_mm_free(bufdata); 61 return -1; 62 } 63 64 if ( data != NULL ) 65 *data = bufdata; 55 66 56 67 return 0;
Note: See TracChangeset
for help on using the changeset viewer.