3 ms·
Agreed, but there's little point in reinventing the wheel in this particular case.
by Anilm3 11y ago
Agreed, but there's little point in reinventing the wheel in this particular case.
- xcgvgh 11y agoThere is no reinventing going on here. In C you have to write relatively low level code. This includes manually calling allocs for objects, which includes the code for checking your arithmetic. At some point you will have to write that code. If you are smart you will wrap it into a function.
- Anilm3 11y agoI don't see the point of the discussion, that piece of code (or relatively equivalent), is already being performed by a libC function (calloc, in this case), how is that less convenient than you writing it yourself? It has nothing to do with how smart you are or how low level C is, you are effectively reinventing that part of calloc by wrapping malloc.
- masklinn 11y agoThere's a point to be made that people will be idiots and risk bugs for the sake of efficiency. That's why OpenBSD has reallocarray(3) (which serves as a fine malloc, though the kernel not having reallocation has mallocarray(9))