Hello,

maybe 'efl_ref_replace' since its a replacement of a referenced field.

Greetings
   Marcel Hollerbach

On Mon, Dec 05, 2016 at 12:16:15PM -0200, Guilherme Íscaro wrote:
> Hello,
> 
> Well, what name do you suggest?
> 
> On Mon, Dec 5, 2016 at 11:50 AM, Tom Hacohen <t...@osg.samsung.com> wrote:
> 
> > I never liked the stringshare function that does it, so it comes with no
> > surprise that I don't like this one either.
> >
> > Regardless of that, I find the name very confusing. I didn't understand
> > what it does when I saw the name nor when I read the docs. I had to read
> > the code to understand what it's for... I'd change the name and fix the
> > docs.
> >
> > --
> > Tom.
> >
> > On 02/12/16 17:35, Guilherme Iscaro wrote:
> > > bdilly pushed a commit to branch master.
> > >
> > > http://git.enlightenment.org/core/efl.git/commit/?id=
> > 81782414dfba9a8a69ea42a4dd5b01fc19170d88
> > >
> > > commit 81782414dfba9a8a69ea42a4dd5b01fc19170d88
> > > Author: Guilherme Iscaro <isc...@profusion.mobi>
> > > Date:   Fri Dec 2 11:16:33 2016 -0200
> > >
> > >     Eo: Add efl_replace() function.
> > >
> > >     This new function adds a new way to safely replace Eo pointer values.
> > > ---
> > >  src/lib/eo/Eo.h | 22 ++++++++++++++++++++++
> > >  1 file changed, 22 insertions(+)
> > >
> > > diff --git a/src/lib/eo/Eo.h b/src/lib/eo/Eo.h
> > > index 8c81544..244478b 100644
> > > --- a/src/lib/eo/Eo.h
> > > +++ b/src/lib/eo/Eo.h
> > > @@ -1334,6 +1334,28 @@ EAPI int efl_callbacks_cmp(const
> > Efl_Callback_Array_Item *a, const Efl_Callback_
> > >           EFL_CALLBACK_PRIORITY_DEFAULT, data)
> > >
> > >  /**
> > > + * @def Replace the previously Eo pointer with new content.
> > > + *
> > > + * @param storage The object to replace the old reference. It can not
> > be @c NULL.
> > > + * @param new_obj The new object. It may be @c NULL.
> > > + *
> > > + * The string pointed by @c storage must be previously an Eo or
> > > + * @c NULL and it will be efl_unref(). The @a new_obj will be passed
> > > + * to efl_ref() and then assigned to @c *storage.
> > > + *
> > > + * @see efl_ref()
> > > + * @see efl_unref()
> > > + */
> > > +static inline void
> > > +efl_replace(Eo **storage, Eo *new_obj)
> > > +{
> > > +   if (!storage || *storage == new_obj) return;
> > > +   efl_ref(new_obj);
> > > +   efl_unref(*storage);
> > > +   *storage = new_obj;
> > > +}
> > > +
> > > +/**
> > >   * @}
> > >   */
> > >
> > >
> >
> >
> > ------------------------------------------------------------
> > ------------------
> > _______________________________________________
> > enlightenment-devel mailing list
> > enlightenment-devel@lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
> >
> ------------------------------------------------------------------------------
> _______________________________________________
> enlightenment-devel mailing list
> enlightenment-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

------------------------------------------------------------------------------
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to