Commit Graph

1264 Commits

Author SHA1 Message Date
Xavi Artigas 68c530080b docs: Fix common misspellings in H files
Fixed all appearances of words from this list in H files:
https://en.wikipedia.org/wiki/Wikipedia:Lists_of_common_misspellings/For_machines
2019-04-02 13:28:48 +02:00
Mike Blumenkrantz 69c54cdabb eina_log: reset logging callback to default when null is set as the callback
Summary:
passing null here causes any log message to crash the app and is probably not
the intended result

Reviewers: cedric, segfaultxavi

Reviewed By: cedric, segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8513
2019-03-29 18:57:06 +01:00
Cedric BAIL e859130dd4 eina: prevent double cancel of ongoing dispatched future.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8333
2019-03-27 15:03:08 -07:00
Cedric BAIL 7331f21ea7 eina: always initialize i.
Reviewers: zmike, bu5hm4n, stefan_schmidt, devilhorns

Reviewed By: devilhorns

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8451
2019-03-26 12:05:02 -04:00
Vincent Torri 12e0ee8742 eina_error: On Windows strerror_s() is the same than POSIX strerror_r()
Summary: strerror_r() does not exist on Windows, but strerror_s() does

Test Plan: compilation

Reviewers: cedric, bu5hm4n, zmike

Reviewed By: zmike

Subscribers: zmike, bu5hm4n, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8279
2019-03-13 09:53:17 -04:00
Mike Blumenkrantz 598ce966d8 eina_file: set errno on open fail for win32 build
Summary:
windows does not automatically set errno so we must do it ourselves

@fix
Depends on D8103

Reviewers: vtorri

Reviewed By: vtorri

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8104
2019-03-06 08:37:29 -05:00
Carsten Haitzler b92f09b1d2 eina vpath - change XDG_PUBLIC_DIR to XDG_PUBLICSHARE_DIR
match the spec correctly.
2019-03-05 13:02:56 +00:00
Carsten Haitzler 272d1b5fc2 eina vpath - document that resolved strings need to be freed 2019-03-05 12:12:32 +00:00
Carsten Haitzler e9f07bf60b eina vpath - templates is not a dot dir
fix xdg Templates dir default to not be .Templates
2019-03-05 11:14:46 +00:00
Vincent Torri 8a7cb97e02 Eina: implement strtod in C locale and remove linkl against msvcr100.
Summary:
This fixes compilation on Windows

More precisely edje_cc could not compile emotion edc files, so it was a runtime problem
because of msvcr100 link.

Add more tests than before

Test Plan: compilation

Reviewers: raster

Subscribers: zmike, stefan_schmidt, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7926
2019-02-28 14:36:42 +01:00
Lauro Moura 5861aad185 eina: Declare eina_config.h install dir
Meson from git complains if `install` is set but not `install_dir`.

Reviewed-by: Marcel Hollerbach <marcel-hollerbach@t-online.de>
Differential Revision: https://phab.enlightenment.org/D8036
2019-02-28 13:32:25 +01:00
Stefan Schmidt a405a116c1 eina: safe guard against macro expension error in EINA_*_EQ
Make sure we are use doubel also also in things like EINA_DBL_EQ(a-b, x+y).
Thanks to Vicent for reporting and Xavi for giving me context.

Reviewed-by: Vincent Torri <vincent.torri@gmail.com>
Differential Revision: https://phab.enlightenment.org/D8049
2019-02-28 10:22:16 +01:00
Mike Blumenkrantz e7ebf92c92 eina: free vpath hash on shutdown
Summary: this resolves a considerable number of leaks in unit tests

Reviewers: bu5hm4n

Reviewed By: bu5hm4n

Subscribers: segfaultxavi, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8020
2019-02-25 17:12:57 -05:00
Vincent Torri f7c560c311 replace hton and ntoh family functions with ones defined in eina
Summary: This fixes especially the execution of edje_cc on Windows

Test Plan: execution of edje_cc

Reviewers: cedric, raster

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7834
2019-02-01 14:25:35 +00:00
Amitesh Singh a016f8e592 eina modinfo: improve eina modinfo guide. 2019-01-29 16:59:45 +05:30
Xavi Artigas c55299ca51 docs: Fix assorted typos in legacy documentation
Samsung reported a long list of typos in our legacy docs, this fixes them.
2019-01-28 13:14:20 +01:00
Cedric BAIL 7889f71c7b eina: fix memory leak when a Eina_Value as promise is returned, but no dispatching Eina_Future is listening on it.
Reviewed-by: SangHyeon Jade Lee <sh10233.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D7652
2019-01-23 12:07:17 -08:00
Xavi Artigas a50edaf17b eina: refactor eina_value_*_new.
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D7701
2019-01-23 10:54:13 -08:00
Xavi Artigas 06604d5d25 eina: refactor eina_value_*_init.
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D7700
2019-01-23 10:54:11 -08:00
Xavi Artigas de608bb203 eina: refactor eina_value_*_get.
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D7699
2019-01-23 10:54:09 -08:00
Cedric BAIL 1150cce0bf eina: add Eina_Value helper that convert efficiently to a target native C type.
Reviewed-by: SangHyeon Jade Lee <sh10233.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D7650
2019-01-23 10:54:05 -08:00
Xavi Artigas 64a2ef0260 Fix cut&paste error in docs 2019-01-17 11:49:01 +01:00
Cedric BAIL ba80dfe3f4 eina: remove eina_promise_data_get has it lead to risky use.
It seems that use of eina_promise_data_get lead to mostly missuse. As it
duplicate other infrastructure which do not have the same problem. So better
remove it and if we need it back, we can just revert this patch later.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D7578
2019-01-16 16:10:30 -08:00
Cedric BAIL 1bbe4ceb5c eina: remove eina_promise_data_set.
eina_promise_data_set is a misleading API and result in conflicted use by
multiple independent piece of code leading to bug and crash. It is also not
necessary and we can avoid using it completely.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D7575
2019-01-16 14:33:22 -08:00
Cedric BAIL b3d04f7200 Revert "eina: add a function to free Eina_Promise attached data when the promise is destroyed."
A better solution is to actually have no eina_promise_data_set/get at all.

This reverts commit ce56f32270.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D7574
2019-01-16 14:33:20 -08:00
Cedric BAIL d67a7df9ca Revert "fix crashes created by "make efl_loop_promise_new a function""
This serie of patch didn't address the core problem in the design of the
ownership of eina_promise_data_{set/get} usage. It is also redundant with
other infrastructure in eina_promise and so not necessary completely.

This reverts commit de2ec0559b.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D7573
2019-01-16 14:33:18 -08:00
Carsten Haitzler 91990b7cf8 meson - fix pc file versions that were missing mirco version 2018-12-27 11:54:30 +00:00
Carsten Haitzler de2ec0559b fix crashes created by "make efl_loop_promise_new a function"
commit 9b5155c9f1 brought about crashes
- specifically that i saw in terminology because it actually uses
eina_promise_data_set() and the new efl_loop_promise_new basically
took over ownership of that data, but if anyone used
eina_promise_data_set() the data ptr used by this new code would bwe
overwritten, causing segfauls when terminology loses selection
ownership. for days i had mysterious crashes of terminology until i
narrowed it down to the above, so if you have too, then this will fix
it.

what this does is create a data set intercept function callback that
for now is only for use inside efl to everride data sets so they set
data inside the new struct that tracks data. i also had to add and
intercept for eina_promise_data_free_cb_set() as this in theory could
also ber a similar problem.

so perhaps the idea/design of efl_loop_promise_new() is not right and
this kind of thgn has to be internal to eina promise... this means
eina promise and loops are much more tied together.
2018-12-26 17:49:34 +00:00
Cedric BAIL ce56f32270 eina: add a function to free Eina_Promise attached data when the promise is destroyed.
Reviewed-by: Lauro Neto <Lauro Moura <lauromoura@expertisesolutions.com.br>>
Differential Revision: https://phab.enlightenment.org/D7491
2018-12-20 12:42:33 -08:00
Marcel Hollerbach e43f090265 cmake: remove!
This build was never complete and also was not maintained probebly.

It is also dropped in favour of meson which is cool, merged, works & is fast.

Differential Revision: https://phab.enlightenment.org/D7010
2018-12-20 20:07:26 +01:00
Cedric BAIL 3ef87a251b eina: use the correct type for casting to avoid issue on Windows.
Reviewed-by: Vincent Torri <vincent.torri@gmail.com>
Differential Revision: https://phab.enlightenment.org/D7458
2018-12-20 09:57:02 -08:00
Carsten Haitzler 10819b4ea5 meson - systemd - fix check to systemd209+ checks that were not done
autofoo did these and set defines code relied on. meson did not. this
fixes that and makes meson do the same checks with the same defines.
2018-12-08 04:47:06 +00:00
Carsten Haitzler 3a075988e4 evas cpu - just rely on eina cpu entirely to avboid feature dups
so evas cpu used to be the thing then eina cpu came and did the same
and evas cpu optionalyl could lsit on top... just move it all to eina
cpu so one central place does this and evas_cpu is purely a compat
wrapper.
2018-12-08 04:46:03 +00:00
Marcel Hollerbach 500a36ba3d meson: add inital support for windows compilation
Differential Revision: https://phab.enlightenment.org/D7416
2018-12-07 13:05:31 +01:00
Cedric BAIL 33c00de365 eo: make efl_future_then have a data pointer in addition of the object pointer.
Summary:
In the case when you have multiple future in flight related to one object, you
couldn't use the previous version of efl_future_then. Now all function calls
take a void* pointer that allow multiple future to have their private data
request data accessible in all the callback.

This should not break released API as Eo.h is not released yet and so
was efl_future_Eina_FutureXXX_then.

Depends on D7332

Reviewers: felipealmeida, segfaultxavi, vitor.sousa, SanghyeonLee, bu5hm4n

Reviewed By: segfaultxavi

Subscribers: #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7472

Differential Revision: https://phab.enlightenment.org/D7379
2018-12-07 12:23:11 +01:00
Youngbok Shin 443f63c619 eina: fix a build failure caused by missing 'locale_t' from OSX
In OSX, locale_t is included in xlocale.h
@fix
Differential Revision: https://phab.enlightenment.org/D7395
2018-12-05 11:17:53 +01:00
Marcel Hollerbach 6c8cebf403 Revert "Revert "eina: add locale-independent eina_convert_strtod_c function""
This reverts commit ddd2638758.
2018-12-05 11:17:53 +01:00
Carsten Haitzler 44d010bc39 eina - iterator - remove unused variable - warn 2018-12-04 08:21:49 +00:00
Carsten Haitzler 168fec6995 eina+evas cpu - add theoretical SVE support
SVE is a new-ish ARM vector instruction set like neon... but with
wider vectors (and variable vector sizes). this adds the flags and
hwcaps checks.
2018-12-03 11:04:27 +00:00
Stefan Schmidt ddd2638758 Revert "eina: add locale-independent eina_convert_strtod_c function"
This reverts commit bef1c5cc43.

The commit breaks the build on macos. I gave it soem time to get fixed
up quickly, but its late Friday night in Korea now and this is unlikely
to get fixed until Monday. Revert here until fixed.

./src/lib/eina/eina_private.h:158:1: error: unknown type name 'locale_t'

https://travis-ci.org/Enlightenment/efl/jobs/461790674
2018-11-30 15:30:01 +01:00
Youngbok Shin bef1c5cc43 eina: add locale-independent eina_convert_strtod_c function
strtod's behavior is changed by system locale.
http://man7.org/linux/man-pages/man3/strtod.3.html
https://en.wikipedia.org/wiki/Decimal_separator

Because of this, strtod(0.5) returns 0.0 in some locales.
When a given value string is locale-independent, strtod has to be
replaced to eina_convert_strtod_c function.
Internally, it calls strtod_l function with "C" locale.

@feature

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Reviewed-by: Vincent Torri <vincent.torri@gmail.com>
Differential Revision: https://phab.enlightenment.org/D6644
2018-11-29 16:15:59 -08:00
Cedric BAIL bd474a8829 eina: add eina_multi_iterator_new.
This will return an Iterator that will walk over a serie of iterator.
This technicaly take ownership of the iterator it is walking over and
destroy as it goes and doesn't need them anymore.

Reviewed-by: Vitor Sousa da Silva <vitorsousa@expertisesolutions.com.br>
Differential Revision: https://phab.enlightenment.org/D7286
2018-11-23 10:13:54 -08:00
Cedric BAIL a8f520188a eina: add test for Eina_Iterator over pure C array.
Reviewed-by: Vitor Sousa da Silva <vitorsousa@expertisesolutions.com.br>
Differential Revision: https://phab.enlightenment.org/D7285
2018-11-23 10:13:52 -08:00
Cedric BAIL 6b26b3330e eina: add a way to iterate over a pure C array with no NUL terminating element.
Reviewed-by: Vitor Sousa da Silva <vitorsousa@expertisesolutions.com.br>
Differential Revision: https://phab.enlightenment.org/D7284
2018-11-23 10:13:51 -08:00
Carsten Haitzler df9957a7c4 eina debug - fix 32bit warning for casting down to 32bit ptrs 2018-11-09 12:18:59 +00:00
Carsten Haitzler 665a75378f xxx - fix eina_future_then calls to pass sotrage val - fix warns 2018-11-09 11:43:59 +00:00
Carsten Haitzler e15c663c0a eina inline hash - fix warn about switch case fallthrough
fallthrough is intended so add fallthrough markers to silence warning
2018-11-09 11:43:59 +00:00
Carsten Haitzler 0a2c3557cb eina vpath - warning - remove unused variable 2018-11-09 11:43:58 +00:00
Carsten Haitzler 2ec2d97356 eina vpath - warning - fix constness of string pointer
fixes bad const usage, butnot an actual bug.
2018-11-09 11:43:58 +00:00
Carsten Haitzler 9a4e25a7a8 eina promise - warning fix - init storage field on return
fix a warning but this actually is a bug with storage being left
uninitialized.
2018-11-09 11:43:58 +00:00