On Tue, Sep 12, 2017 at 9:05 PM, Cedric BAIL <cedric.b...@free.fr> wrote: > cedric pushed a commit to branch master. > +static Eina_Bool > +_eina_value_type_file_flush(const Eina_Value_Type *type EINA_UNUSED, void > *mem) > +{ > + Eina_File *f = *(Eina_File **)mem; > + > + eina_file_close(f);
if no file was set, this will cause EINA_FILE_MAGIC_CHECK() failure. > +static Eina_Bool > +_eina_value_type_file_convert_to(const Eina_Value_Type *type EINA_UNUSED, > const Eina_Value_Type *convert, const void *type_mem, void *convert_mem) > +{ > + const Eina_File *f = *(const Eina_File **) type_mem; > + Eina_Bool ret = EINA_FALSE; > + > + if ((convert == EINA_VALUE_TYPE_STRING) || > + (convert == EINA_VALUE_TYPE_STRINGSHARE)) > + { > + const char *filename; > + > + filename = eina_file_filename_get(f); > + ret = eina_value_type_pset(convert, convert_mem, &filename); > + } thinking... maybe you could also convert to BLOB. That type is basically "pointer + size" and how to manage it, then matches well with eina file mmap, that is, to get its contents. eventually you can even convert to integer types to query size. > +EAPI const Eina_Value_Type _EINA_VALUE_TYPE_FILE = { > + EINA_VALUE_TYPE_VERSION, > + sizeof (Eina_File *), > + "Eina_Value_File", this should be "Eina_File", the target type... like for int it's "int". > /** > + * @var EINA_VALUE_TYPE_FILE > + * manages optional type. too much copy&paste... it should be "manages Eina_File*". -- Gustavo Sverzut Barbieri -------------------------------------- Mobile: +55 (16) 99354-9890 ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel