On Dienstag, 24. August 2021 10:22:52 CEST Markus Armbruster wrote:
> Christian Schoenebeck <qemu_...@crudebyte.com> writes:
> > Implements deep auto free of arrays while retaining common C-style
> > squared bracket access.
> > 
> > Signed-off-by: Christian Schoenebeck <qemu_...@crudebyte.com>
> 
> You provide some motivation for this, but only in your cover letter:
> 
>     Patches 1 and 2 introduce include/qemu/qarray.h which implements a deep
> auto free mechanism for arrays. Unlike GArray it does not require special
> macros, function calls or member dereferencing to access the individual
> array elements. So existing C-style array code can be retained with only
> very little changes.
> 
>     In this initial version QArray only supports the concept of unique
> pointers, i.e. it does not support reference counting. The array (and all
> dynamically allocated memory of individual array elements) is auto freed
> once execution leaves the scope of the reference variable (unique pointer)
> associated with the array.
> 
> Please put it into the commit message, so it gets committed.

Sure, np.

> An example to illustrate how QArray is better than GArray (for some
> value of "better") would help make your case that QArray is worth its
> maintenance cost.

Ok, I'll put that into the commit message as well, instead of into the API 
comments.

> > ---
> > 
> >  include/qemu/qarray.h | 150 ++++++++++++++++++++++++++++++++++++++++++
> >  1 file changed, 150 insertions(+)
> >  create mode 100644 include/qemu/qarray.h
> > 
> > diff --git a/include/qemu/qarray.h b/include/qemu/qarray.h
> > new file mode 100644
> > index 0000000000..9885e5e9ed
> > --- /dev/null
> > +++ b/include/qemu/qarray.h
> > @@ -0,0 +1,150 @@
> > +/*
> > + * QArray - deep auto free C-array
> > + *
> > + * Copyright (c) 2021 Crudebyte
> > + *
> > + * Authors:
> > + *   Christian Schoenebeck <qemu_...@crudebyte.com>
> > + *
> > + * Permission is hereby granted, free of charge, to any person obtaining
> > a copy + * of this software and associated documentation files (the
> > "Software"), to deal + * in the Software without restriction, including
> > without limitation the rights + * to use, copy, modify, merge, publish,
> > distribute, sublicense, and/or sell + * copies of the Software, and to
> > permit persons to whom the Software is + * furnished to do so, subject to
> > the following conditions:
> > + *
> > + * The above copyright notice and this permission notice shall be
> > included in + * all copies or substantial portions of the Software.
> > + *
> > + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
> > EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
> > MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND
> > NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS
> > BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN
> > ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN
> > CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE
> > SOFTWARE.
> > + */
> 
> Please use GPLv2+ unless you have a compelling reason not to.
> 
> [...]

Is that a requirement?

It is just my personal license preference. AFAICS there are numerous sources 
in QEMU released under MIT license as well.

Best regards,
Christian Schoenebeck



Reply via email to