On Wed, 29 Jun 2011, Enlightenment SVN wrote:
> Log: > emotion: use stringshare for file. > > > Author: cedric > Date: 2011-06-29 06:58:42 -0700 (Wed, 29 Jun 2011) > New Revision: 60818 > Trac: http://trac.enlightenment.org/e/changeset/60818 > > Modified: > trunk/emotion/src/lib/emotion_smart.c > > Modified: trunk/emotion/src/lib/emotion_smart.c > =================================================================== > --- trunk/emotion/src/lib/emotion_smart.c 2011-06-29 13:25:58 UTC (rev > 60817) > +++ trunk/emotion/src/lib/emotion_smart.c 2011-06-29 13:58:42 UTC (rev > 60818) > @@ -1,6 +1,14 @@ > #include "emotion_private.h" > #include "Emotion.h" > > +#ifdef HAVE_EIO > +# include <Eio.h> > +#else > +# ifdef HAVE_XATTR is it checked in configure.ac ? Vincent > +# include <sys/xattr.h> > +# endif > +#endif > + > #define E_SMART_OBJ_GET(smart, o, type) \ > { \ > char *_e_smart_str; \ > @@ -42,7 +50,7 @@ > > char *module_name; > > - char *file; > + const char *file; > Evas_Object *obj; > double ratio; > double pos; > @@ -69,6 +77,11 @@ > int button; > } spu; > > +#ifdef HAVE_EIO > + Eio_File *load_xattr; > + Eio_File *save_xattr; > +#endif > + > Emotion_Module_Options module_options; > }; > > @@ -275,7 +288,7 @@ > emotion_object_init(Evas_Object *obj, const char *module_filename) > { > Smart_Data *sd; > - char *file; > + const char *file; > > E_SMART_OBJ_GET_RETURN(sd, obj, E_OBJ_NAME, 0); > > @@ -317,7 +330,7 @@ > if (file) > { > emotion_object_file_set(obj, file); > - free(file); > + eina_stringshare_del(file); > } > > return EINA_TRUE; > @@ -333,13 +346,12 @@ > DBG("file=%s", file); > if (!sd->module) return EINA_FALSE; > > - if ((file) && (sd->file) && (!strcmp(file, sd->file))) return EINA_FALSE; > + if ((file) && (sd->file) && (file == sd->file || !strcmp(file, > sd->file))) return EINA_FALSE; > if ((file) && (file[0] != 0)) > { > int w, h; > > - free(sd->file); > - sd->file = strdup(file); > + eina_stringshare_replace(&sd->file, file); > sd->module->file_close(sd->video); > evas_object_image_data_set(sd->obj, NULL); > evas_object_image_size_set(sd->obj, 1, 1); > @@ -361,8 +373,7 @@ > evas_object_image_size_set(sd->obj, 1, 1); > _emotion_image_data_zero(sd->obj); > } > - free(sd->file); > - sd->file = NULL; > + eina_stringshare_replace(&sd->file, NULL); > } > > return EINA_TRUE; > @@ -1597,7 +1608,7 @@ > if (sd->video) sd->module->file_close(sd->video); > _emotion_module_close(sd->module, sd->video); > evas_object_del(sd->obj); > - free(sd->file); > + eina_stringshare_del(sd->file); > free(sd->module_name); > if (sd->job) ecore_job_del(sd->job); > free(sd->progress.info); > > > ------------------------------------------------------------------------------ > All of the data generated in your IT infrastructure is seriously valuable. > Why? It contains a definitive record of application performance, security > threats, fraudulent activity, and more. Splunk takes this data and makes > sense of it. IT sense. And common sense. > http://p.sf.net/sfu/splunk-d2d-c2 > _______________________________________________ > enlightenment-svn mailing list > enlightenment-...@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/enlightenment-svn > > ------------------------------------------------------------------------------ All of the data generated in your IT infrastructure is seriously valuable. Why? It contains a definitive record of application performance, security threats, fraudulent activity, and more. Splunk takes this data and makes sense of it. IT sense. And common sense. http://p.sf.net/sfu/splunk-d2d-c2 _______________________________________________ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel