Messages in this thread | | | Date | Wed, 16 Oct 2019 10:00:59 -0700 | From | Dmitry Torokhov <> | Subject | Re: [PATCH v5 05/14] software node: clean up property_copy_string_array() |
| |
On Wed, Oct 16, 2019 at 10:53:00AM +0300, Andy Shevchenko wrote: > On Tue, Oct 15, 2019 at 11:12:11AM -0700, Dmitry Torokhov wrote: > > On Tue, Oct 15, 2019 at 03:07:26PM +0300, Andy Shevchenko wrote: > > > On Fri, Oct 11, 2019 at 04:07:12PM -0700, Dmitry Torokhov wrote: > > > > Because property_copy_string_array() stores the newly allocated pointer in the > > > > destination property, we have an awkward code in property_entry_copy_data() > > > > where we fetch the new pointer from dst. > > > > > > I don't see a problem in this function. > > > > > > Rather 'awkward code' is a result of use property_set_pointer() which relies on > > > data type. > > > > No, the awkwardness is that we set the pointer once in > > property_copy_string_array(), then fetch it in > > property_entry_copy_data() only to set it again via > > property_set_pointer(). > > Yes, since property_set_pointer is called independently > on the type of the value.
We still call property_set_pointer() independently of the type of the value even with this patch. The point is that we do not set the pointer in property_copy_string_array(), so we only set the pointer once.
We used to have essentially for string arrays:
copy data set pointer in dst get pointer from dst set pointer in dst
With this patch we have:
copy data set pointer in dst
> > > > This is confising and awkward and I believe it > > is cleaner for property_copy_string_array() to give a pointer to a copy > > of a string array, and then property_entry_copy_data() use it when > > handling the destination structure. > > We probably need a 3rd opinion here.
I think I can still convince you ;)
Thanks.
-- Dmitry
| |