MCPcopy Create free account
hub / github.com/CloverHackyColor/CloverBootloader / png_alloc_realloc

Function png_alloc_realloc

Protocols/AppleImageCodec/picopng.c:120–141  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

118}
119
120void *png_alloc_realloc(void *addr, UINT32 oldSize, UINT32 newSize)
121{
122 if (!addr) {
123 return png_alloc_malloc(newSize);
124 }
125 if ( newSize > oldSize ) {
126 png_alloc_node_t *old_node = png_alloc_find_node(addr, oldSize);
127 if (old_node) {
128 void *new_addr = ReallocatePool(oldSize, newSize, addr);
129 old_node->addr = new_addr;
130 old_node->size = newSize;
131 return new_addr;
132 }
133 else {
134 png_alloc_node_t* node = png_alloc_malloc(newSize);
135 CopyMem(node->addr, addr, oldSize); // here, newSize is > oldSize
136 return node->addr;
137 }
138 } else {
139 return addr;
140 }
141}
142
143void png_alloc_free(void *addr)
144{

Callers 2

vector32_resizeFunction · 0.85
vector8_resizeFunction · 0.85

Calls 4

png_alloc_mallocFunction · 0.85
png_alloc_find_nodeFunction · 0.85
ReallocatePoolFunction · 0.50
CopyMemFunction · 0.50

Tested by

no test coverage detected