26 ms·
should be typedef struct {uint8_t *data, *dataend} if I'm not mistaken :)
by orenht 6y ago
should be
typedef struct {uint8_t *data, *dataend}
if I'm not mistaken :)
- gkfasdfasdf 6y agoWhat are the advantages of saving the end as a pointer? Genuinely curious. Seems like a length allows the end pointer to be quickly calculated (data + len), while being more useful for comparisons, etc.
- benibela 6y agoYou can remove the first k elements of a view with data += k. With the length you would need to do data += k; length -= k Especially if you want to use it as safe iterator, you can do data++ in a loop
- gkfasdfasdf 6y agoGot it. That is really neat, going to add to my bag of tricks...
- zoomablemind 6y ago> ...You can remove the first k elements of a view with data += k. How would you safely free(data) afterwards? You'd need to keep an alloc'ed pointer somehow.
- benibela 6y agoRight. I always think the pointer declaration is part of the type. (that is why I do not use C. Is there really a good reason for this C syntax?)