[vlc-devel] [RFC 0/1] vlc_vector
Thomas Guillem
thomas at gllm.fr
Thu Aug 30 10:14:15 CEST 2018
Love it
list and vector in vlc ? We don't need c++/rust no more.
On Wed, Aug 29, 2018, at 22:28, Romain Vimont wrote:
> Last month, I proposed some improvements to vlc_array_t:
> <https://mailman.videolan.org/pipermail/vlc-devel/2018-July/120434.html>
>
> But vlc_array_t has major drawbacks:
> - it only supports pointers;
> - it is not type-safe (it only handles void*).
>
> The best candidate to improve was then ARRAY_* (which already uses an
> exponential growth policy), but:
> - it aborts on allocation failure;
> - it does not check for overflows (on grow and reallocation).
>
> Improving ARRAY_* would be quite difficult, because it would require to
> analyze every usage, typically to replace int by size_t (useful to check
> for overflow properly).
>
> Therefore, I decided to implement (yet) another tool, which is intended
> to replace ARRAY_*: vlc_vector.
>
> The macros involving possible allocation are written so that they can
> yield a bool to report errors, without requiring an additional parameter.
>
> This is just an RFC for now because I just wrote unit tests for it, I
> didn't used it in real code yet.
>
> Romain Vimont (1):
> vlc_vector: add helpers for vectors
>
> include/vlc_common.h | 6 +
> include/vlc_vector.h | 397 +++++++++++++++++++++++++++++++++++++++++++
> src/Makefile.am | 5 +-
> src/test/vector.c | 362 +++++++++++++++++++++++++++++++++++++++
> 4 files changed, 769 insertions(+), 1 deletion(-)
> create mode 100644 include/vlc_vector.h
> create mode 100644 src/test/vector.c
>
> --
> 2.18.0
>
> _______________________________________________
> vlc-devel mailing list
> To unsubscribe or modify your subscription options:
> https://mailman.videolan.org/listinfo/vlc-devel
More information about the vlc-devel
mailing list