MCPcopy Create free account
hub / github.com/RavEngine/RavEngine / AllocateDataQueuePacket

Function AllocateDataQueuePacket

deps/SDL2/src/SDL_dataqueue.c:140–171  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

138}
139
140static SDL_DataQueuePacket *
141AllocateDataQueuePacket(SDL_DataQueue *queue)
142{
143 SDL_DataQueuePacket *packet;
144
145 SDL_assert(queue != NULL);
146
147 packet = queue->pool;
148 if (packet != NULL) {
149 /* we have one available in the pool. */
150 queue->pool = packet->next;
151 } else {
152 /* Have to allocate a new one! */
153 packet = (SDL_DataQueuePacket *) SDL_malloc(sizeof (SDL_DataQueuePacket) + queue->packet_size);
154 if (packet == NULL) {
155 return NULL;
156 }
157 }
158
159 packet->datalen = 0;
160 packet->startpos = 0;
161 packet->next = NULL;
162
163 SDL_assert((queue->head != NULL) == (queue->queued_bytes != 0));
164 if (queue->tail == NULL) {
165 queue->head = packet;
166 } else {
167 queue->tail->next = packet;
168 }
169 queue->tail = packet;
170 return packet;
171}
172
173
174int

Callers 2

SDL_WriteToDataQueueFunction · 0.85

Calls 1

SDL_mallocFunction · 0.85

Tested by

no test coverage detected