|
|
|
|
|
by crossroads1112
3447 days ago
|
|
I wrote something similar in C99 as well for another project. Initially, I used the same form used in this blog post however it's easy to see that the ergonomics for accessing the data are pretty terrible. I eventually moved to a solution where I prepended the capacity and size to the block returned to the caller and then wrote helper functions that accessed/modified these values. This way the caller can access values in the returned array just as they would one returned from malloc. The code (note, the `vec` type is just a typedef'd `void*`):
https://github.com/crossroads1112/marcel/blob/master/src/ds/... |
|