DO NOT BE SCARED OFF BY THE PATCH COUNT!! Most of these are very
short, and they all follow the same pattern; beyond that, 01/17 and
02/17 are the only ones that are really time-sensitive.
The first patch in this series adds new macros to insert/append/delete
elements from the arrays of variously-sized structs that are commonly
used in libvirt. The intent is to eliminate the arithmetic mistakes
associated with calling memmove() directly, and shorten application
code. A full description of the added macros and their functions is
included in 01/17.
Patches 02..17 convert various bits of hand-coded array manipulation
in libvirt to use the new macros. They can be taken now, later, or
never (although I'd like to have at least 02/17 taken now, since other
similar functions will be added in an upcoming patch series, and I
want them to all use the same logic). Mostly I went through all of
those conversions to see just how useful/usable the new macros were
(and they led to a couple of rewrites).
I will be posting another series momentarily that has a dependency on
01/17.