mirror of
				https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git
				synced 2025-11-03 09:01:50 -05:00 
			
		
		
		
	introduce pa_xmalloc() and friends
implement module auto loading git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@103 fefdeb5f-60dc-0310-8127-8f9354f1896f
This commit is contained in:
		
							parent
							
								
									24291aff27
								
							
						
					
					
						commit
						46091a9237
					
				
					 61 changed files with 700 additions and 631 deletions
				
			
		| 
						 | 
				
			
			@ -27,13 +27,12 @@
 | 
			
		|||
#include <stdlib.h>
 | 
			
		||||
 | 
			
		||||
#include "packet.h"
 | 
			
		||||
#include "xmalloc.h"
 | 
			
		||||
 | 
			
		||||
struct pa_packet* pa_packet_new(size_t length) {
 | 
			
		||||
    struct pa_packet *p;
 | 
			
		||||
    assert(length);
 | 
			
		||||
    p = malloc(sizeof(struct pa_packet)+length);
 | 
			
		||||
    assert(p);
 | 
			
		||||
 | 
			
		||||
    p = pa_xmalloc(sizeof(struct pa_packet)+length);
 | 
			
		||||
    p->ref = 1;
 | 
			
		||||
    p->length = length;
 | 
			
		||||
    p->data = (uint8_t*) (p+1);
 | 
			
		||||
| 
						 | 
				
			
			@ -44,9 +43,7 @@ struct pa_packet* pa_packet_new(size_t length) {
 | 
			
		|||
struct pa_packet* pa_packet_new_dynamic(uint8_t* data, size_t length) {
 | 
			
		||||
    struct pa_packet *p;
 | 
			
		||||
    assert(data && length);
 | 
			
		||||
    p = malloc(sizeof(struct pa_packet));
 | 
			
		||||
    assert(p);
 | 
			
		||||
 | 
			
		||||
    p = pa_xmalloc(sizeof(struct pa_packet));
 | 
			
		||||
    p->ref = 1;
 | 
			
		||||
    p->length = length;
 | 
			
		||||
    p->data = data;
 | 
			
		||||
| 
						 | 
				
			
			@ -66,7 +63,7 @@ void pa_packet_unref(struct pa_packet *p) {
 | 
			
		|||
 | 
			
		||||
    if (p->ref == 0) {
 | 
			
		||||
        if (p->type == PA_PACKET_DYNAMIC)
 | 
			
		||||
            free(p->data);
 | 
			
		||||
        free(p);
 | 
			
		||||
            pa_xfree(p->data);
 | 
			
		||||
        pa_xfree(p);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue