On Tue, Sep 29, 2020 at 10:49 AM Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> wrote: > > On Tue, Sep 29, 2020 at 08:10:10AM +0000, David Laight wrote: > > From: Joe Perches > > > Sent: 28 September 2020 17:07 > > > > > > On Mon, 2020-09-28 at 18:02 +0200, Bartosz Golaszewski wrote: > > > > On Mon, Sep 28, 2020 at 5:59 PM Joe Perches <joe@xxxxxxxxxxx> wrote: > > > > > On Mon, 2020-09-28 at 12:41 +0200, Bartosz Golaszewski wrote: > > > > > > From: Bartosz Golaszewski <bgolaszewski@xxxxxxxxxxxx> > > > > > > > > > > > > There's a common pattern of dynamically allocating an array of char > > > > > > pointers and then also dynamically allocating each string in this > > > > > > array. Provide a helper for freeing such a string array with one call. > > > > > > > > > > Isn't this also common for things like ring buffers? > > > > > Why limit this to char *[]? > > > > > > > > > > > > > I don't want to add APIs nobody is using. What do you suggest? > > > > > > Change the argument to void** and call it > > > > > > void kfree_array(void **array, int count); > > > > Does help, void doesn't work that way. > > Actually good catch. void * and void ** have a big difference in the implicit > casting behaviour. I was stumbled over this while playing with some > experimental stuff locally. > I'll keep kfree_strarray() then. Bart