Skip to content

Instantly share code, notes, and snippets.

@theMackabu
Last active July 27, 2026 16:50
Show Gist options
  • Select an option

  • Save theMackabu/1cfc3825f2ff464b4d2efb30b1ddb52c to your computer and use it in GitHub Desktop.

Select an option

Save theMackabu/1cfc3825f2ff464b4d2efb30b1ddb52c to your computer and use it in GitHub Desktop.
Block realloc_block(Block bk, uint32_t size) {
assert(!memcmp(bk.memptr, bk.data, bk.data_size));
- bk.data = randbytes(size);
- bk.memptr = nrealloc(bk.memptr, size);
+ uint32_t preserved_size = bk.data_size < size ? bk.data_size : size;
+ char *new_memptr = nrealloc(bk.memptr, size);
+ assert(new_memptr != NULL);
+ assert(!memcmp(new_memptr, bk.data, preserved_size));
+
+ free(bk.data);
+ bk.data = randbytes(size);
+ bk.memptr = new_memptr;
memcpy(bk.memptr, bk.data, size);
bk.data_size = size;
assert(!memcmp(bk.memptr, bk.data, bk.data_size));
return bk;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment