Lines Matching refs:buffer
38 buffer_t *buffer = osi_calloc(sizeof(buffer_t) + size); in buffer_new() local
39 if (!buffer) { in buffer_new()
44 buffer->root = buffer; in buffer_new()
45 buffer->refcount = 1; in buffer_new()
46 buffer->length = size; in buffer_new()
48 return buffer; in buffer_new()
76 void buffer_free(buffer_t *buffer) { in buffer_free() argument
77 if (!buffer) in buffer_free()
80 if (buffer->root != buffer) { in buffer_free()
82 if (--buffer->root->refcount == 0) in buffer_free()
83 osi_free(buffer->root); in buffer_free()
84 osi_free(buffer); in buffer_free()
85 } else if (--buffer->refcount == 0) { in buffer_free()
87 osi_free(buffer); in buffer_free()