Commit Graph

662 Commits

Author SHA1 Message Date
Carsten Haitzler 56ffe74896 eina_cpu - up max number of threads to 32
this should be better for todays systems - max number of cores we can
query for now is 32.

@feature
2015-05-15 19:07:42 +09:00
Carsten Haitzler beaa9b3864 eina - cpu count - fic cpu count to count # of cores correctly
@fix

this fixes the cpu count to count the numebr of available cores
correctly. before if core 0 happened to be off, we'd get 0 cpu cores
available due to the break
2015-05-15 19:05:33 +09:00
Carsten Haitzler df999265b0 eina - add comment on evlog api stability etc. 2015-05-15 11:32:04 +09:00
Cedric BAIL 01e5432657 eina: handle fallback to HOMEDIR/HOMEPATH on WIN32. 2015-05-14 20:14:56 +02:00
Vivek Ellur 756ed9ccba eina: fix eina_inarray_search to do linear search
Summary:
Currently eina_inarray_search was using binary search to search elements
which would not work on unsorted array so modified it to work as linear search.
There is already a function eina_inarray_search_sorted to work on sorted array.

Signed-off-by: Vivek Ellur <vivek.ellur@samsung.com>

Reviewers: cedric

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2501

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-05-14 19:37:08 +02:00
Cedric BAIL 130cdb9513 eina: use portable environment lookup. 2015-05-14 18:41:48 +02:00
Cedric BAIL 0ed04f7681 eina: fixup. 2015-05-14 18:41:48 +02:00
Vincent Torri dbc6cbb953 eina: add crosss platforme API to retrieve tmp and home directories from environment.
@feature

No tests added as it is highly dependent on the system and it would make little sens.

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-05-14 18:41:48 +02:00
Vincent Torri 3a6ccab3ad eina: fix warning on Windows.
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-05-14 18:41:48 +02:00
Vincent Torri a75155d8ba eina, efl: add copyright notice.
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-05-14 18:41:48 +02:00
Carsten Haitzler a5635d0c01 eina evlog - fix overflow tracking 2015-05-13 22:25:09 +09:00
Jean-Philippe Andre 22ef03cd53 Eina log: Fix previous commit (ERR & CRI -> bt)
This was a < comparison, not <=
I don't totally agree on taking the bts for each error... just try
to cat a binary file in terminology and have fun.
2015-05-12 19:37:25 +09:00
Jean-Philippe Andre 65b53f4a37 Eina log: Enable backtrace only for CRI and ERR by default
Using EINA_LOG_LEVEL=4 for standard debugging has now become
absolutely horrible (and slow!). Backtraces may make sense in
case of ERR and CRI messages, but are just pollution for other
levels.

WRN could be argued over but the old env variable is still there
so just use it if you want backtraces:

$ export EINA_LOG_BACKTRACE=2
2015-05-12 19:06:00 +09:00
Carsten Haitzler b309a3e0f1 eina debug monitor - dont shadow vars 2015-05-11 14:03:44 +09:00
Carsten Haitzler b444540fe6 eina debug monitor - add types.h include 2015-05-11 14:01:32 +09:00
Carsten Haitzler 71182a57a3 eina evlog - remove stolen count - unecessary 2015-05-10 22:27:37 +09:00
Carsten Haitzler 2aeb289063 eina - begin event log infra we can get from the new debug monitor
we can down dump event logs. some ecore mainloop bits are logging at
the moment.
2015-05-10 19:05:54 +09:00
Carsten Haitzler 0ba6ddc44a eina debug - add more comments to debugd connection 2015-05-08 17:23:38 +09:00
Carsten Haitzler 7571020eb8 eina debug - add comments 2015-05-08 17:18:38 +09:00
Stefan Schmidt 5c1157d4ec eina_ddebug: Fix build for the case without all requirements for eina_debug
In eina_debug.h we only include the eina headsers when all defines are true
for backtrace, dlopen, unwind, etc. We still use Eina_Bool here when these
cases are not met. I just hit this case and failed the build.
2015-05-08 10:01:42 +02:00
Carsten Haitzler af8c4eabca eina debug - clean up protocol handling inside eina 2015-05-08 16:58:18 +09:00
Carsten Haitzler 664708b817 eina - start a much improved eina dbug infra and have eina_log use it
this makes eina_log give bt's for all error logs. this is very useful
in finding just where a problem happens. the problem int he past is
that these have not been too useful due to backtrace_symbols() being
"useless". thus use the eina_btlog tool i added too.

also started infra for a debug monitor that can use the backtrace
infra to collect runtime stats ANY TIME for a process (don't need to
run under a debugger).

@feat
2015-05-08 14:13:17 +09:00
vivek 1fdc58a580 eina: add crc hash function to eina hash module.
Summary:
Added eina_hash_crc function in eina hash module to generate hash code
using crc-32.

Signed-off-by: vivek <vivek.ellur@samsung.com>

Reviewers: Sergeant_Whitespace, cedric

Subscribers: Sergeant_Whitespace, cedric

Differential Revision: https://phab.enlightenment.org/D2273

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-05-07 09:53:11 +02:00
Cedric BAIL 0dfb263a28 eina: remove the need to order the header correctly for Windows. 2015-05-07 09:53:10 +02:00
vivek a2f2d942c6 eina: add CRC implementation to Eina module.
Summary:
Added eina_crc function in eina to calculate crc for the key passed and
added eina_hash_crc function for hashing using crc

Signed-off-by: vivek <vivek.ellur@samsung.com>

Reviewers: Sergeant_Whitespace, cedric

Reviewed By: cedric

Subscribers: Sergeant_Whitespace, cedric

Differential Revision: https://phab.enlightenment.org/D2260

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-05-07 09:53:09 +02:00
Cedric BAIL 32d614639f eina: in fact this is gone and won't come back.
Eo and Efl.Model are here for that task.
2015-04-29 09:47:58 +02:00
Vincent Torri c086d505a9 Eina: fix eina_file_split on Windows and update unit test
@fix

Signed-off-by: Jean-Philippe Andre <jp.andre@samsung.com>
2015-04-29 15:27:47 +09:00
Jean Guyomarc'h 537f11278f eina: fix eina_stringshare format warning after commit 912924a
Summary:
Since the type of 'r' changed from unsigned short to unsigned int we
need to change its format as well.

Reviewers: stefan_schmidt, raster, cedric

Reviewed By: cedric

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2446

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-04-28 23:51:00 +02:00
Carsten Haitzler 912924a634 eina stringshare - make short internal string refs ints not shorts
this should fix T2088 - at the expense of more memory but a short was
just too little here.
2015-04-28 15:10:32 +09:00
Thiep Ha 5c997ea4a3 eina: correct document for eina_hash_list_prepend/remove.
Summary:
The eina_hash_list_preprend/remove API have wrong description.
This patch fixes it.

@fix

Reviewers: Hermet, cedric

Reviewed By: cedric

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2423

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-04-25 19:34:19 +02:00
ChunEon Park 023a91dc7d eina thread_queue: fix typo in doc. 2015-04-23 11:37:16 +09:00
ChunEon Park 0d1d62a6ab eina thread_queue: fix typo in doc. 2015-04-22 23:12:57 +09:00
Tom Hacohen 811058a1ff Eina safety: remove unused error string.
At the moment there are no errors possible for safety checks.
This may change in the future (unlikely), so we have the eina_error
already exposed for that. However, there's no need for the string.

One more down towards a warningless build.
2015-04-22 13:06:16 +01:00
Jean-Philippe Andre 12b562482e Eina: Fix clang warnings
Use fabs for double values
2015-04-21 20:11:01 +09:00
Jean-Philippe Andre a3897562c5 Eina: Fix clang warnings
Remove unused static function
2015-04-21 20:11:01 +09:00
Subhransu Mohanty ee99232b36 eina: updated matrix_translate, matrix_scale and matrix_rotate implementation to do compose of the matrix in not identity matrix.
This is a late change that has been discussing on the ML as we don't want to release an API, we can't make faster.

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-04-17 10:52:16 +02:00
Jihoon Kim 0d4f4721ea eina: fix typos in doxygen 2015-04-13 19:12:28 +09:00
woochan lee dbf56936dc Delete whitespaces for header and eo files
Summary: Fix whitespaces, indentation, wrap in eina headers.

Reviewers: cedric, jeffrey.w.grimshaw, Hermet

Reviewed By: Hermet

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2303

Conflicts:

	src/lib/eina/eina_thread_queue.h
2015-04-10 14:19:10 +09:00
Jean-Philippe Andre e2022f4157 eina: Add NULL check for eina_threadqueue_free
@fix
2015-04-10 11:34:50 +09:00
Carsten Haitzler 8c8bf357ba eian threadqueue - be clearer on the message struct/format limitations
this makes the send func docs also be clear on the
Eina_Thread_Queue_Msg limitations like the wait func
2015-04-09 17:21:25 +09:00
Stefan Schmidt c3ee9ff22b eina_matrix: Add since tags to all new functions in 1.14 2015-04-08 14:39:50 +02:00
Stefan Schmidt a12c53ba7a eina_quad: Add since tags for new eina_quad*()
This needs documentation for the new functions.
2015-04-08 14:39:49 +02:00
Jaeun Choi 15e11cb05f eina: eina_unicode_utf8_next_get should return 0
when one of the parameters is NULL to avoid null pointer access.
it also corresponds to the description in doc.

@fix
2015-04-08 21:29:13 +09:00
Stefan Schmidt adbe2e864b eina: Add since tag for new eina_simple_xml_attribute_w3c_parse() 2015-04-08 14:13:57 +02:00
Stefan Schmidt 8a764d8d9c eina: Add since tag for new eina_list_data_idx()
Also fix some whitespaces while being there.
2015-04-08 14:11:44 +02:00
Cedric BAIL 78bf41b223 eina: add eina_simple_xml_attribute_w3c_parse to parse attribute value. 2015-04-03 16:22:29 +02:00
Cedric BAIL 659d3c4fd7 eina: add eina_matrix.
This code come from Enesim and was done by Jorge. I did just take care
of changing the namespace and coding style.
2015-04-03 16:12:48 +02:00
Andy Williams 128a78940b eina: include blank lines in file iterator T2237
any line that would not have been included before has length == 0
2015-03-27 21:42:45 +00:00
Andy Williams a6290f8505 eina: Change newline parsing to handle crlf better
Adjust test to demonstrate failure, existing code only worked for
windows newlines on blank line.
@fix T2236
2015-03-27 09:56:22 +00:00
Michal Jagiello 6b88246808 eina: add eina_list_data_idx().
Summary:
Now the developer has to iterate the whole list to find the
index of the first occurence of the data.
I see that it is possible to get the index of the item for
the genlist widget, but for the eina_list not.

With these APIs it will be easier to implement *index_get
functions for the rest of widgets which contain items (Elm_List,
Elm_Ctxpopup etc.).

These functions returns the index of the given data or node in the eina_list.

Reviewers: Hermet, cedric

Subscribers: raster, cedric

Differential Revision: https://phab.enlightenment.org/D2189

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-03-25 19:40:41 +01:00
Jaeun Choi 3cd2801be7 eina: safety check for NULL pointer
data should not be NULL. it is used as the source of memcpy.

@fix
2015-03-19 16:15:20 +09:00
Cedric BAIL 9d29f80eb1 eina: provide a generic eina_binbuf_manage_new.
eina_binbuf_manage_new provide the functionnality of both eina_binbuf_manage_new_length
and eina_binbuf_manage_read_only_new_length. Those function get deprecated.
2015-03-17 09:58:20 +01:00
Mykyta Biliavskyi 37c58d4397 eina: extend eina_str_escape to escape more common case.
Summary: Added new symbols, that will be escaped. There are '\"', '\t' and '\n'.

Reviewers: raster, cedric

Reviewed By: cedric

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2130

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-03-13 09:33:28 +01:00
Michelle Legrand f6d870b4c1 eina: win32 release lock in case of error
Summary:
It's better to realese the lock before returning NULL. Otherwise the program
is waiting indefinitely then crashing on Windows ("program not responding").

@fix

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-03-12 07:43:58 +01:00
Michelle Legrand b36e2fc701 eina: add more access to created file.
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-03-12 07:43:58 +01:00
Carsten Haitzler 009ec26460 eina + ecore - fix main loop thread id tracking on fork
if you fork and even if you do ecore_fork_reset() a thread calling
ecore_main_loop_thread_safe_call_async(0 for example eill end up
resetting the mainloop thread id to itself (a non mainlopo thread) via
calling eina_main_loop_is() since pid changed. there is little point
in doing this so remove the pid tracking from eina and ensure mainloop
thread id is updated in ecore's fork reset.

@fix
2015-02-26 19:47:51 +09:00
vivek 2ae90fd1ff eina_str: add null check condition in eina_memdup.
Summary:
Added null check in eina_memdup function in eina_str

Signed-off-by: vivek <vivek.ellur@samsung.com>

Reviewers: cedric

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1997

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-02-20 11:42:13 +01:00
Vincent Torri 06fe2fad0e eina: remove useless eina_inline_lock_win32.x file. 2015-02-13 11:05:27 +01:00
Guilherme Lepsch 7a302f12d9 eina: Fix MacOS X build with clang 3.6.
Summary:
printf contains and erroneous format specifier and cast
missing LIBTOOLFLAGS for cocoa

Reviewers: felipealmeida, larryolj, naguirre

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1912

Signed-off-by: Nicolas Aguirre <aguirre.nicolas@gmail.com>
2015-02-12 07:55:33 +01:00
Nicolas Aguirre 3b52489368 eina: fix directory listing on windows when directory is empty.
Using of INVALID_HANDLE_VALUE and ERROR_NO_MORE_FILES to handle this properlly.

@fix
2015-02-11 17:03:39 +01:00
michelle legrand 9579624765 eina: fix Eina_Log to only try to free non deleted log.
@fix
2015-02-11 17:03:37 +01:00
Adrien Nader f71a78edcb eina: correctly handle and report Eina_File error on Windows.
@fix
2015-02-11 16:38:15 +01:00
Adrien Nader 9d1504dba1 eina: remove Eina_Counter and use provided Windows posix compatible implementation. 2015-02-11 16:38:15 +01:00
Adrien Nader 2cb0c1cadc eina: remove Windows specific thread implementation and rely on posix compliant library instead. 2015-02-11 16:38:10 +01:00
Tom Hacohen b5011fa867 Eina tmpstr: Fix tmpstr_strlen.
Weird. This is the code I had, I don't know how it got lost.

Good job to Daniel Kolesa for spotting this.
2015-02-10 09:53:29 +00:00
Tom Hacohen 8fbee3fac0 Eina tmpstr: remove usage of tmpstr_strlen(). 2015-02-09 14:02:40 +00:00
Tom Hacohen fb8dfe98cd Eina tmpstr: fix race condition.
We take a lock, search the list, and the release the lock before we
finish using the values of the list. While unlikely, the string could be
deleted in the meanwhile.
2015-02-09 13:55:13 +00:00
Tom Hacohen f7a6880d5b Eina tmpstr: deprecate tmpstr_strlen and add tmpstr_len.
Confusingly enough, strlen was actually returning strlen + 1 for
strings. The new functions behaves as expected.
2015-02-09 13:55:13 +00:00
pierre lamot 6fd31ab552 eina: fix semaphore initialisation
This patch fix the semaphore initialisation on posix plateform

there was a preconditon test which returned the semaphore
uninitialised when count_init was 1, this caused the semaphore to
be unusable on OSX plateform. Furthermore, it seems that we need to
unlink the semaphore before its initialisation on OSX as there seems
to have some kind of persistence of the semaphore accross execution.

warning, this patch change the signification of the parametter
count_init on linux plateform, this parametter is now consistent on
every plateform, with the meaning of setting the initial count value
of the semaphore.

This used to be on linux 1 -> the semaphore is shared and initialised
at 1 and 0 -> the semaphore is not initialised, thus, by side effect
not shared and initialised at 0.

This patch set on linux plateform the semaphore as systematically
shared

@fix

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-02-05 16:38:06 +01:00
vivek e1eff60c80 eina: Eina_Value - use eina_mempool_free to cleanup the memory
Summary:
The new value is allocated using Eina_Mempool, it should be freed using
eina_mempool, not using libc free.

@fix

Signed-off-by: vivek <vivek.ellur@samsung.com>

Reviewers: cedric

Reviewed By: cedric

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1940

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-02-05 15:37:15 +01:00
Daniel Hirt 7143bd7fb5 eina: fix valgrind invalid read of size in eina_file_path_sanitize.
Summary:
Apparently eina_tmpstr_strlen counts the null character as well. This
doesn't follow how strlen works, as the latter excludes it from the count.
This resulted in mistreatment of the string in _eina_file_escape, with
tmp_str paths that had "../".

This fix will do for now, but it is advised that we avoid using
eina_tmpstr_strlen, to prevent such confusions in the future.

Test Plan:
The following lines will throw a valgrind 'invalid read of size 1' error
prior this fix:
  char *path = "home/mydir/../myfile";
  Eina_Tmpstr *tmp_str = eina_tmpstr_add(path);
  char *ret_path = eina_file_path_sanitize(path);

@fix

Reviewers: cedric, stefan_schmidt

Subscribers: tasn, cedric

Differential Revision: https://phab.enlightenment.org/D1929

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-02-04 14:08:36 +01:00
Daniel Hirt 7cbf22212f Revert "eina: eina_file - fix "invalid read of size 1" in valgrind"
This reverts commit f52f562891.

This is reverted because it breaks eina_file_path_sanitize when using
  "/../" in paths, for example:
eina_file_path_sanitize("/home/../mydir/myfile")
  returns: "/mydir/myfili"

What invalid read size does this fix? Why was no test case specified?
Anyway, this change affects too much code to leave it in like this.
2015-02-02 14:41:37 +02:00
Romain Perier f52f562891 eina: eina_file - fix "invalid read of size 1" in valgrind
@fix

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-01-30 10:49:58 +01:00
Nicolas Aguirre 0e671630f1 eina: use uintptr_t for Eina_Thread storage to be the same size for the different architectures.
This should not be an ABI regression on the platform where it work (Unix). It is on Windows,
but the API was unusable at all without this change, so this is a necessary breakage to
unbreak things.

@fix

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-01-30 10:49:55 +01:00
Carsten Haitzler 6bd34e2ae9 eina mmap safety handler - fix on systems without some sibgus types
this fixes 615456aae8 to compile on
systems without MCERR sigbus types.
2015-01-14 19:16:35 +09:00
Vasyl Vavrychuk b613404452 eina: fix eina_log with journald.
Summary:
Nothing was printed to journald before because sd_journal_send_with_location
expects file and line to be of the NAME=VALUE form.

Change-Id: I382b82b665558fddebae61b7d0a8d4de87638511
Signed-off-by: Vasyl Vavrychuk <vasyl.vavrychuk@globallogic.com>

Reviewers: kuri, cedric

Reviewed By: cedric

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1865

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-01-13 16:18:24 +01:00
Carsten Haitzler 615456aae8 eina - mmap safety handler - fix to only handle sigbus's from io
@fix

this fixes the eina mmap safety handler to only  handle what comes
from actual i/o errors (not actual corrupt/hw memory faults or invalid
objects), and if it's not a sigbus eina mmap should handle then pass
it onto the previous handler before eina mmap took over.
2015-01-13 19:30:11 +09:00
Cedric BAIL 9a74e6aec4 eina: all Eina_Stringshare printf variant now return empty string as expected.
Previously Eina_Stringshare printf variant where returning NULL with ("%s", ""). This
is highly disturbing as you would have gotten "(null)", if you asked for ("s", NULL).
To clarify and make things logical, we now return "".
2015-01-08 12:36:27 +01:00
Amitesh Singh 32d52ff563 eina: fix memory leaks in eina_stringshare_printf/vprintf functions.
Summary: @Fix

Test Plan:
  CK_FORK=no valgrind --leak-check=full {UNIT_TEST_PROGRAM} "String Share"

Reviewers: cedric, seoz, Hermet, raster

Subscribers: cedric, seoz

Differential Revision: https://phab.enlightenment.org/D1857
2015-01-08 19:48:01 +09:00
Srivardhan Hebbar 1d25d6da79 eina: fix memory leak issue in Eina_Value.
Summary:
eina_inarray_free was not called. So calling it to fix the memory leak.

@fix

Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>

Reviewers: devilhorns

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1808

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2014-12-25 21:37:05 +01:00
Srivardhan Hebbar 701f7b0737 eina: add an example to demonstrate different eina insert and sort functions.
Summary:
While going through eina for understanding, wrote  a program to understand
he differences between different eina inarray functions. Thought, this might
be useful for others too, so adding the same.

Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>

Reviewers: devilhorns

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1803

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2014-12-22 15:09:59 +01:00
Tom Hacohen 5c96fd457e Eina streq: remove redundant code in eina_streq. 2014-12-16 09:23:43 +00:00
Mike Blumenkrantz 10d8199b2f +eina_memdup
for those times when three lines of code should be one

@feature
2014-12-15 14:32:42 -05:00
Mike Blumenkrantz 5cda4c1eb5 eina_streq should immediately return true if both pointers are the same 2014-12-15 14:32:42 -05:00
kabeer khan 378157ba1e eina_thread: fix memory leak
Summary: Signed-off-by: kabeer khan <kabeer.khan@samsung.com>

Reviewers: devilhorns

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1737
2014-12-08 09:21:03 +01:00
Tae-Hwan Kim 3b9f8b2648 eina: enhance doxygen in eina_counter.h
Summary:
Add @details for detailed description
Add @note for noted description
Add [in] & [out] for parameters
Fix indentation & Fix typeof

Reviewers: raster, cedric

Reviewed By: cedric

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1651

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2014-11-14 07:05:17 +01:00
Jean Guyomarc'h 5c91d7aa10 eina: fix calloc() parameters order in eina_share.
Summary: The first parameter must be the count of elements to be allocated.

Reviewers: cedric

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1660

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2014-11-14 06:49:59 +01:00
Jean-Philippe ANDRE d0bae13693 Eina lock: try to fix compilation for OSX
This is a quick fix.

It looks like OSX doesn't provide the same infra as linux for
cond_timedwait, but instead they provide directly a
relative time wait function. Since I don't have any build / test
environment for OSX, this is as far as I can go.

Arguably, OSX libc seems to use gettimeofday() for cond_timedwait,
so this should close T1701.

See the pthread cond implementation:
http://www.opensource.apple.com/source/Libc/Libc-167/pthreads.subproj/pthread_cond.c
2014-11-02 15:14:36 +09:00
Tae-Hwan Kim 339ae93f82 eina: enhance doxygen in eina_magic.h
Summary:
Add @brief for brief description
Add @details for detailed description
Add @note for noted description
Add [in] & [out] for parameters
Add @see more
Add links for EINA_TRUE, EINA_FALSE, etc.
Fix indentation & Fix typeof
Use @p instead of @a for the consistency

Reviewers: raster, cedric

Reviewed By: cedric

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1620

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2014-10-31 09:28:07 +01:00
Tae-Hwan Kim 2dad982410 eina: group eina_sched
Summary:
Schedule group is made for eina_sched_xxx.
It is grouped into Tools group.
Futher description is needed later.

Reviewers: raster, cedric

Reviewed By: cedric

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1623

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2014-10-31 09:26:49 +01:00
Tae-Hwan Kim 980cd1ee57 eina: enhance doxgen for Eina_Trash
Summary:
Move doxygen comments from .x file to .h file

Basic rules are below:
Arrange grouping
Add @brief for brief description
Add @details for detailed description
Add @note for noted description
Add [in] & [out] for parameters
Add @see more
Add links for EINA_TRUE, EINA_FALSE, etc.
Fix indentation & Fix typeof
Use @p instead of @a for the consistency

Reviewers: raster, cedric

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1624

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2014-10-31 09:25:51 +01:00
Tae-Hwan Kim ea9130c50b eina: enhance doxygen in eina_prefix.h
Summary:
Arrange grouping
 - Move Prefix group below Tools group
Add @brief for brief description
Add @details for detailed description
Add @note for noted description
Add [in] & [out] for parameters
Add @see more
Add links for EINA_TRUE, EINA_FALSE, etc.
Fix indentation & Fix typeof
Use @p instead of @a for the consistency

Reviewers: raster, cedric

Reviewed By: cedric

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1618

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2014-10-31 09:24:39 +01:00
Cedric BAIL 02bcdf056e eina: clear up eina_tmpstr length information
This @fix a potential wrong return value according to documentation and
improve consistency accross this API. This should fix T1775.
2014-10-31 02:40:08 +01:00
Jean-Philippe Andre 864394e793 Eina: Fix eina_condition_timedwait once again
Much confusion with this spaghetti code of #ifdefs and clocks.
So, we can't use CPU clocks for the timedwait, this doesn't make
sense (and it's explicit in the manpage, too).

But we can use CLOCK_MONOTONIC or CLOCK_MONOTONIC_RAW which are
much better than the wall clock (because of ntp updates, etc...)

The test case tests that the cond actually waited for as long as was
requested and for not too long either.

This is hopefully a final fix for T1701.
2014-10-30 20:21:41 +09:00
Jean-Philippe Andre 03cc403228 Eina file: Fix calls to getenv
There seems to be an intent to check that UID==EUID
before calling getenv to get the temp directory.
But that was lost in commits 61478af3a6 and
then in e105abc99e.
2014-10-30 18:23:49 +09:00
Tae-Hwan Kim 24ee38f3c1 eina: enhance doxygen in eina_file.h
Summary:
Arrange grouping
Add @brief for brief description
Add @details for detailed description
Add @note for noted description
Add [in] & [out] for parameters
Add @see more
Add links for EINA_TRUE, EINA_FALSE, etc.
Fix indentation & Fix typeof
Use @p instead of @a for the consistency

Reviewers: raster, cedric

Reviewed By: cedric

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1611

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2014-10-30 08:49:03 +01:00
Tae-Hwan Kim 4c9995f4ee eina: enhance doxygen in eina_mempool.h
Summary:
Arrange grouping
Add @brief for brief description
Add @details for detailed description
Add @note for noted description
Add [in] & [out] for parameters
Add @see more
Add links for EINA_TRUE, EINA_FALSE, etc.
Fix indentation & Fix typeof
Use @p instead of @a for the consistency

Reviewers: raster, cedric

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1612

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2014-10-30 08:47:36 +01:00
Tae-Hwan Kim 9a1ccdcdeb eina: enhance doxygen in eina_lock.h
Summary:
Arrange grouping
Add @brief for brief description
Add @details for detailed description
Add @note for noted description
Add [in] & [out] for parameters
Add @see more
Add links for EINA_TRUE, EINA_FALSE, etc.
Fix indentation & Fix typeof

Reviewers: raster, cedric

Reviewed By: cedric

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1598

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2014-10-29 22:40:09 +01:00
Tae-Hwan Kim a14fc0cc9e eina: enhance doxygen in eina_clist.h
Summary:
Arrange grouping
Add @brief for brief description
Add @details for detailed description
Add @note for noted description
Add [in] & [out] for parameters
Fix indentation & Fix typeof

Reviewers: raster, cedric

Reviewed By: cedric

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1601

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2014-10-29 22:38:11 +01:00
artem.popov 1fb06dc09b eina_unicode: fix memory allocation
Summary:
there is wrong memory allocation, Eina_Unicode has 4 bytes, allocation
is like for char
@fix

Reviewers: Hermet, seoz, raster, cedric

Reviewed By: cedric

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1609

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2014-10-29 22:38:11 +01:00
Stefan Schmidt e105abc99e eina_file: Give TMPDIR presedence over XDG_RUNTIME_DIR when defined
XDG_RUNTIME_DIR gives us a nice securty benefit by only allowing the
same user to read wand write files.

In some configuration this is problematic though. If one looks at the
bug report this fixes  for example you can see that there are build
scripts that use a special build user.

The way this has always worked on unix is that you can define your
own tempdir with TMPDIR. When I was making the original change towards
XDG_RUNTIME_DIR I expected some trouble with it but it worked quite
well so far.

To avoid breaking scripts out there and maybe configurations we
haven't tested yet give TMPDIR precedence over XDG_RUNTIME_DIR.

Fixes T1766
2014-10-29 15:51:11 +01:00
Stefan Schmidt 0619c757ba eina: Fix _timedwait to handle the given timeout on top of the absolute time
The pthread man page clearly states that pthread_cond_timedwait() takes an
absolute time parameter. So far we always passed it epoch plus timeout in
seconds. This would never trigger the timeout.

Making sure we fill out timespec struct with the current time before adding
the timeout as offset now. Also handling the t < 0 error case.

Various version worked up together with Jean-Philippe Andre <jp.andre@samsung.com>

This version does not use _eina_time_get directly as this is currently not a
public API of eina. If we decide to make _eina_time_get public we can remove the
extra code here.

Fixes T1701
2014-10-29 15:35:30 +01:00
Tae-Hwan Kim 7da1647167 eina: enhance doxygen in eina_error.h
Summary:
Arrange grouping
Add @brief for brief description
Add @details for detailed description
Add @note for noted description
Add [in] & [out] for parameters
Fix indentation & Fix typeof

Reviewers: raster, cedric

Reviewed By: cedric

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1588

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2014-10-28 21:20:39 +01:00
Cedric BAIL 76e33a2081 eina: remove reference to API that never made it to a stable release. 2014-10-28 21:19:10 +01:00
Tae-Hwan Kim 1f3dbca5d2 eina: enhance doxygen in eina_binshare.h
Summary:
Add @brief for brief description
Add @details for detailed description
Add @warning for important description
Add [in] & [out] for parameters
Fix indentation & Fix typeof

Reviewers: raster, cedric

Reviewed By: cedric

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1586

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2014-10-28 21:18:32 +01:00
Tae-Hwan Kim fb9476cee8 eina: enhance doxygen in eina_inarray.h
Summary:
Arrange grouping
Add @brief for brief description
Add @details for detailed description
Add @note for noted description
Add [in] & [out] for parameters
Fix indentation & Fix typeof

Reviewers: raster, cedric

Reviewed By: cedric

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1592

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2014-10-28 21:16:44 +01:00
Jean Guyomarc'h 6de8e3104d eina_semaphore: OSX support
Summary:
OSX only support named semaphores. Eina_Semaphore was actually broken on OSX.
Since OSX 10.10 sem_init() and sem_destroy() (were not implemented) are also marked as
"deprecated", which adds huge pollution to the output when compiling.

Reviewers: cedric, raster, stefan_schmidt

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1576

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2014-10-27 09:11:23 +01:00
Tae-Hwan Kim 72c576ab4e eina: enhance doxygen in eina_accessor.h
Summary:
Add @brief for brief description
Add @details for detailed description
Add [in] & [out] for parameters
Fix indentation & Fix typeof

Reviewers: raster, cedric

Reviewed By: cedric

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1580

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2014-10-27 09:10:18 +01:00
Tae-Hwan Kim dbe87afd63 eina: documentation enhance - add @brief tag
Summary: Add @brief for brief description

Reviewers: raster, cedric

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1577

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2014-10-27 09:08:47 +01:00
Tae-Hwan Kim be9390ce8b eina: enhance doxygen for eina_counter.h
Summary:
Arrange grouping
Add @brief for brief description
Add @details for detailed description
Add [in] & [out] for parameters
Fix indentation & Fix typeof

Reviewers: raster, cedric

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1579

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2014-10-27 09:06:21 +01:00
Stefan Schmidt 4091b4824d Revert "eina: Fix _timedwait to handle the given timeout on top of the absolute time"
Not ready yet as it uses _eina_time_get which is internal only right now. Compiling
works fine for efl alone as the private header is in teh include search part but it
blows up when compiling elementary.

Need to think a bit more about this. Maybe exposing _eina_time_get as API but that
should wait until after the release.

This reverts commit f0a02a92be.
2014-10-23 15:12:55 +02:00
Stefan Schmidt 03ca51abe7 eina: Add a note about potential use of CLOCK_MONOTONIC
Note it down so we can think about this at some later point.
2014-10-23 11:12:00 +02:00
Stefan Schmidt f0a02a92be eina: Fix _timedwait to handle the given timeout on top of the absolute time
The pthread man page clearly states that pthread_cond_timedwait() takes an
absolute time parameter. So far we always passed it epoch plus timeout in
seconds. This would never trigger the timeout.

Making sure we fill out timespec struct with the current time before adding
the timeout as offset now. Also handling the t < 0 error case.

Various version worked up together with Jean-Philippe Andre <jp.andre@samsung.com>

Fixes T1701
2014-10-23 11:01:35 +02:00
Jean-Philippe Andre 52135379df Eina: Check for errors after eina_tls_new
Fix CID 1248913.
2014-10-22 15:52:46 +09:00
Adrien Nader 020bd41505 eina document eina mempools' API.
Except for the weird _Eina_Mempool_Backend_ABI1/ABI2 work-around which is
completely internal and probably is of interest to noone (the only person
on Earth who will be interested in it in a decade will hate me for skipping
it).
2014-10-20 18:32:28 +02:00
Adrien Nader 10c4309fa7 eina: remove @addtogroup in eina_inline_mempool.x: the .h already has it.
It looks like doxygen doesn't appreciate having a group inside a group of
the same name and simply ignores any documentation coming from the parent
one.

Since the .x is included from the .h, it is always already inside the
group so simply remove the directive from the .x.

This fixes the documentation for all the functions which are declared and
documented in the .h and implemented in the .x.
2014-10-20 18:32:28 +02:00
Ghislain Loaec 604d3ae8a2 eina: Eina_Cpu / Eina_Thread API documentation 2014-10-20 18:17:14 +02:00
Ghislain Loaec 0001e36d39 eina: Eina_Fp API + Eina_Mempool TODOS 2014-10-20 18:15:35 +02:00
Ghislain Loaec 7dd6c353e2 eina: Eina_List API documentation 2014-10-20 18:13:57 +02:00
Ghislain Loaec 55a1edbb78 eina: Eina_Rectangle API documentation 2014-10-20 18:13:38 +02:00
Tae-Hwan Kim ad2c51c034 eina: remove macros referencing to absent functions.
Summary: eina_ustrbuf_insert_printf and eina_ustrbuf_insert_vprintf are absent

@fix

Reviewers: huchi, raster, cedric

Reviewed By: cedric

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1510

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2014-10-08 18:58:35 +02:00
Vincent Torri 788d4d6c3f eina: open files in read-onnly for eina_file_open() on Windows
A previous fix added the read-write access of files with eina_file_open,
so revert that part

@fix

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2014-10-03 11:05:38 +02:00
Shinwoo Kim 448cd69ab7 eina : check whether the file exists or not, before memory allocation of Eina_Module
Summary:
Please refer to https://phab.enlightenment.org/D1200

Reviewers: raster, jpeg, zmike, cedric

Subscribers: cedric, seoz

Differential Revision: https://phab.enlightenment.org/D1334
2014-09-30 16:46:52 +02:00
Amitesh Singh be7a64b6e3 eina: Eina_Inlist - remove obvious if() check.
Reviewers: seoz, raster, cedric

Reviewed By: cedric

Subscribers: cedric, seoz

Differential Revision: https://phab.enlightenment.org/D1503
2014-09-29 20:20:18 +02:00
Amitesh Singh d25747c7f8 eina: Eina_List - remove obvious if() check.
Summary:
if (cmp == 0) - in false branch, cmp can not be equal to 0
else if (cmp < 0) - in false branch, cmp is atleast 1.
else if (cmp > 0) - it is abvious that cmp > 0.

Reviewers: cedric, seoz, raster

Subscribers: cedric, seoz

Differential Revision: https://phab.enlightenment.org/D1502

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2014-09-29 20:20:17 +02:00
Vincent Torri 6c2ec01d39 Evil: add strptime()
@feature
2014-09-28 12:29:54 -04:00
Jérémy Zurcher 65b2dd391a eina_value_util_type_offset: abs(unsigned int) is nonsense 2014-09-24 11:15:58 +02:00
Mike Blumenkrantz cbcd9c3718 +eina_strdup(), eina_streq()
there are macros/inlines for these in most efl projects I've seen, may as well have them standardized here

@feature
2014-09-23 16:15:34 -04:00
Mike Blumenkrantz 3dd8fb8a55 move eina_value_util_time_string_new() to not inline
uses strptime which will cause warnings for people who don't do includes correctly
2014-09-23 15:56:46 -04:00
Mike Blumenkrantz d7f729343b add eina_value_util.h to Eina.h 2014-09-23 15:56:46 -04:00
Mike Blumenkrantz 8dffde69d1 rename eina_value_util_timestamp_new -> eina_value_util_time_string_new 2014-09-23 14:57:10 -04:00
Mike Blumenkrantz 77ba1c2761 +eina_value_util api
merged from maelstrom/azy. commonly used functionality for eina_value with _util_ namespace to make them easier to find in the value header nightmare

@feature
2014-09-23 14:37:48 -04:00
Vincent Torri 291c546143 eina: do no use umask on Windows in eina_file_mkstemp()
umask() sets the permissions of the file to read-only on Windows
(see umask documentation on MSDN).
This breaks the creation of .edj file (epp needs to modify the
created file).
Anyway, on Windows, permissions should be given to anybody.

@fix

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2014-09-23 16:41:32 +02:00
Stefan Schmidt 61478af3a6 eina_file: Try to use XDG_RUNTIME_DIR for tmp dir first
Instead using $TMPDIR and falling back to /tmp we now try $XDG_RUNTIME_DIR
first.

"$XDG_RUNTIME_DIR defines the base directory relative to which user-specific
non-essential runtime files and other file objects (such as sockets, named
pipes, ...) should be stored. The directory MUST be owned by the user, and
he MUST be the only one having read and write access to it. Its Unix access
mode MUST be 0700."

While improving our security by isolating these files from other users this
has the potential to break things. I have not seen any breakage in testing
but keep this commit in mind if something strange happens on your system.
2014-09-12 09:12:52 +02:00
Andrii Kroitor 38147da036 eina_file: fixing wrong return value on access problems in file copy process
Summary:
when dest directory is protected from writing success value was returned
@fix

Reviewers: seoz, cedric, Hermet

Reviewed By: Hermet

Subscribers: cedric, reutskiy.v.v

Differential Revision: https://phab.enlightenment.org/D1366
2014-08-27 19:47:16 +09:00
Carsten Haitzler 479c0f37a4 fix efl deadlock with thread queues
@fix
2014-08-24 22:19:05 +09:00
Cedric BAIL 1a571fc689 eina: add documentation for the tricky eina_hash_pointer_new 2014-08-21 13:47:59 +02:00
Jean Guyomarc'h f449f0ddb6 eina: port Eina_Spinlock for OSX
Summary: Support of Spinlocks in Eina (Eina_Spinlock) for OSX, which does not implement them in pthread.
@feature

Reviewers: raster, raoulh, naguirre, cedric, stefan_schmidt

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1151

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2014-08-21 12:04:53 +02:00
Daniel Juyung Seo 8ba2cc6fe9 doc: fixed typo. 2014-08-18 01:10:39 +09:00
Carsten Haitzler 90bbc73c6e eina unicode - remove pointless operands
fixes CID 1039676
2014-08-14 19:18:46 +09:00
Carsten Haitzler 13917c8769 eina_inlist_sorted_state_insert - fix logically dead code
this fixes CID 1039938
2014-08-14 18:53:39 +09:00
Carsten Haitzler 9767fa2b9c eina list insert sorted - fix logically dead code
this fixes CID 1039941
2014-08-14 18:53:39 +09:00
Carsten Haitzler f93fb3c7f6 eina thread queue - check write return
this addresses CID 1226191. this should never have an error as the fd
should always be valid as long as needed.
2014-08-13 19:06:40 +09:00
Carsten Haitzler 6f0f046b83 fix eina unicode realloc fix of coverity complaints - return right buf. 2014-08-13 18:01:48 +09:00
Carsten Haitzler c012e6939c eina thread queue - fix possible deadlock
coverity pointed out a deadlock - CID 1226193. i hope this fixes it
(need to wait days for a coverity re-run). tests pass and real life
usage works, so i assume its ok. in theory i see no problem either.
2014-08-13 17:36:00 +09:00
Carsten Haitzler dcc55bbfd4 eina - and follow-on calloc fixup - 0 terminate first calloced string
this follows on from 6dc52db881
2014-08-13 11:52:59 +09:00
Carsten Haitzler 6dc52db881 eina unicode - fix calloc stupidity
in looking at CID 1230994 i noticed that eina_unicode_unicode_to_utf8
and eina_unicode_utf8_to_unicode are really dumb. they calloc an array
of bytes then proceed to fill them all in anyway. why? also the
realloc handing in eina_unicode_unicode_to_utf8 wasn't strictly corect
and could leak memory. so this just fixes silly slow code and a leak.
2014-08-13 09:05:37 +09:00
Cedric BAIL 3fbe90ae53 eina: rename to eina_module_symbol_global_set
As discussed on the ML, eina_module_global_set should become eina_module_symbol_global_set.
2014-08-11 14:52:51 +02:00
Stefan Schmidt f70c750cfc eina_tile: Add missing since version tags for union, substract, etc
Merged directly after 1.10 release so mark it as since 1.11
2014-08-07 12:16:57 +02:00
bluezery 8f30d8a949 Eina: Change from "" to <> for header inclusion
Summary:
All eina_xxx.h are expored headers.
Using system path to search eina headers seems to be better.

Reviewers: raster, stefan_schmidt, stefan, cedric

Subscribers: stefan_schmidt, cedric

Differential Revision: https://phab.enlightenment.org/D1079
2014-08-02 21:10:37 +02:00
Mike Blumenkrantz 6817717ee4 Revert "eina: Eina_Module - check whether the file exists or not, before memory allocation of Eina_Module"
This reverts commit 971589bf56.

this completely breaks existing eina_module usage. elm_test->image remote
2014-07-27 18:53:20 -04:00
Daniel Kolesa 987cde5f35 Revert "eina: new API: eina_file_path_basename"
This reverts commit 68282f8c42.

This is actually not needed because of presence of basename in Evil.
2014-07-23 19:38:08 +01:00
Daniel Kolesa 68282f8c42 eina: new API: eina_file_path_basename 2014-07-23 17:04:04 +01:00
Shinwoo Kim 971589bf56 eina: Eina_Module - check whether the file exists or not, before memory allocation of Eina_Module
Summary:
I got an issue from emotion_basic_example, because my machine has following directories.

/usr/local/lib/emotion/modules/
├── gstreamer
│   ├── linux-gnu-i686-1.7.99
│   ├── linux-gnu-i686-1.8.0
│   └── linux-gnu-i686-1.8.99
└── gstreamer1
    ├── linux-gnu-i686-1.8.99
    └── v-1.10

The defined MODULE_ARCH is v-1.10, and the _emotion_modules which is returned by eina_module_arch_list_get(); has two items.
Because eina_module_new(); creates Eina_Module, even though the "/usr/local/lib/emotion/modules/gstreamer/v-1.10/module.so"
does not exist.

Test Plan: Create directory without MODULE_ARCH, run emotion_basic_example, and check whether it works properly or not.

Reviewers: raster, seoz, Hermet, woohyun, jpeg, cedric

Subscribers: cedric, seoz

Differential Revision: https://phab.enlightenment.org/D1200

Signed-off-by: Cedric BAIL <c.bail@partner.samsung.com>
2014-07-21 19:33:27 +02:00
Gwanglim Lee 3d534e87c3 eina: Eina_Tiler - return a NULL if intersection of two tilers doesn't exist
Summary:
change eina_tiler_intersection to return a NULL if intersection
of two tilers doesn't exist. and add test case to check it.

This doesn't break ABI/API as this call could already return a NULL value and it
should have been handled by the caller anyway. This just make an expected behavior
more correct.

Test Plan: run eina_suite after building eina test suite

Reviewers: cedric, raster, torori, devilhorns

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1205

Signed-off-by: Cedric BAIL <c.bail@partner.samsung.com>
2014-07-21 19:33:27 +02:00
Carsten Haitzler 7a7d3be140 eina - fix eina-module warning with global + stop using gcc extn for file 2014-07-18 08:05:25 +09:00
Cedric BAIL 1eccc2824f eina: forgotten return value. 2014-07-17 17:51:22 +02:00
Vincent Torri f61f8d30fc eina: make error message more precise. 2014-07-17 17:51:22 +02:00
Carsten Haitzler 45f01bd11c eina - thread queue - fix block pool shutdown 2014-07-16 20:43:32 +09:00
Carsten Haitzler 3c130836ad new eina api/object - eina thread queues
@feature

This is a new feature for eina (and EFL) - a zero-copy thread message
queue for sending messages from one thread to another or from the
ecore mainloop to or back to the mainloop from threads. It has a
complete test suite too.
2014-07-15 20:39:13 +09:00
Cedric BAIL 72aca66f8d eina: win32 and linux version code are the same. Sharing code is better. 2014-07-14 15:46:54 +02:00
Cedric BAIL f15fc9b0a5 eina: simplify logic. 2014-07-14 15:46:54 +02:00
Vincent Torri 4d68dfe603 eina: (Windows) fix creation of files with eina_file_open() in some cases
@fix
2014-07-13 15:17:46 +02:00
Vincent Torri ea8b4c82ed eina: call the function, then return 2014-07-13 15:17:34 +02:00
Vincent Torri 9631585f24 efl: remove Windows CE support 2014-07-13 15:17:17 +02:00
Cedric BAIL 8062d5d7e9 eina: make it possible to load module symbol into the global namespace. 2014-07-11 15:32:51 +02:00
ChunEon Park cc68ef1f22 eina - fixed typo 2014-07-07 20:22:06 +09:00
Cedric BAIL 201d9b567d windows: make those warning explicit about what they imply. 2014-06-27 17:00:23 +02:00
Cedric BAIL 546af159ff eina: silence warning of unused parameter on Windows. 2014-06-27 13:24:39 +02:00
Cedric BAIL 815002bcfc eina: use the right function prototype on Windows. 2014-06-27 13:24:39 +02:00
MinJeong Kim aa5e2c6132 eina-tiler: Fix invalid read on eina tiler
Summary:
Fix invalid read on eina tiler reported by valgrind.
This revision will prevent access to data that was gained from eina iterator, after free of eina_iterator.

Test Plan:
1. Build enlightenment on devs/devilhorns/e_comp_wl branch with efl applyied this patch.
2. Run enlightenment with valgrind options.
3. build enlightenment with this patch
4. Run any wayland app on enlightenment
5. There will be no more invalid read message by valgrind.

Reviewers: cedric, devilhorns, raster, gwanglim, zmike

CC: cedric

Differential Revision: https://phab.enlightenment.org/D1080
2014-06-24 09:00:56 -04:00
Cedric BAIL 6dbdbee453 eina: fix build on windows.
Add necessary include for proper compilation.

@fix
2014-06-24 10:25:27 +02:00
Rajeev Ranjan 7a35f5ffdb evas: fix invalid read reported in eina_rectangle_pool_free by valgrind.
Summary:
This fixes an invalid read reported by valgrind in eina_rectangle_pool_free
Reference: T1360

Signed-off-by: Sanjay Nirankari <sanjay.n1@partner.samsung.com>
Signed-off-by: Rajeev Ranjan <rajeev.r@samsung.com>

Reviewers: cedric, raster

Reviewed By: cedric

CC: sreedeep.m, sanjay, cedric

Differential Revision: https://phab.enlightenment.org/D1069

Signed-off-by: Cedric BAIL <c.bail@partner.samsung.com>
2014-06-20 10:12:07 +02:00
Cedric BAIL 279fdd9c07 eina: don't leak ressource due to the use of CreateThread on Windows. 2014-06-20 09:47:06 +02:00
Rajeev Ranjan bd65b5db5d evas: improvement of Eina Rectangle Pool and integration with Evas GL backend.
Summary:
This patch introduce various new logic for packing/unpacking of Eina Rectangle in a pool.
It is then used by Evas GL backend texture allocation to improve how efficiently we pack
image in texture atlas. This lead to improved memory usage and reduced power consumption
with usually a more stable higher FPS (as it use less texture to do the same task, their
is less texture switch, so saving memory and speed at the same time).

This patch was developped on Cedric's suggestions to optimize the packing logic using Skyline
algorithm. This patch is based on master and is a new submission for earlier phab link
https://phab.enlightenment.org/D774.

Signed-off-by: Sanjay Nirankari <sanjay.n1@samsung.com>
Signed-off-by: Rajeev Ranjan <rajeev.r@samsung.com>
Signed-off-by: Sreedeep Moulik <sreedeep.m@samsung.com>

Reviewers: cedric, raster

CC: wonsik, jpeg, sreedeep.m, sanjay, govi

Differential Revision: https://phab.enlightenment.org/D1063

Signed-off-by: Cedric BAIL <c.bail@partner.samsung.com>
2014-06-19 16:48:45 +02:00
Gwanglim Lee e3f4f4457d eina-tiler: fix crash when trying to check intersection between two tilers
Summary:
If one of the given tilers is empty, then crash could be occurred in internal while loop of eina_tiler_intersection.
And fix some memory leaks in eina_tiler_intersection and eina_tiler_equal.

Reviewers: devilhorns, raster, cedric, torori

CC: cedric

Differential Revision: https://phab.enlightenment.org/D996
2014-06-12 12:40:24 +09:00
Cedric BAIL adbb9ca1e3 eina: fix possible access to NULL.
CID 1039422.
2014-06-05 22:50:20 +02:00
Cedric BAIL caa2ec1b29 eina: leave a comment for CID 1039688. 2014-06-05 22:26:07 +02:00
Cedric BAIL 2dd6e7f302 eina: fix typo in matrixsparce.
CID 98417.
2014-06-05 22:18:59 +02:00
Cedric BAIL 30a3df4c5c eina: removing more dead code looking for strange int.
CID 98377.
2014-06-05 03:30:43 +02:00
Cedric BAIL 344690554a eina: removing more dead code that expect strange int.
CID 1039941.
2014-06-05 03:29:16 +02:00
Cedric BAIL 74121c14cd eina: remove logically dead code.
I am wondering why this code was around, an useless variable and an if
that would never be taken...

CID 1039940.
2014-06-05 03:24:46 +02:00
Cedric BAIL c33acef5d7 eina: remove logically dead code.
Removing this code let me wonder what could be an int value that is not 0,
not < 0 and not > 0...

CID 1039938.
2014-06-05 03:22:27 +02:00
Cedric BAIL 8f817ff4a0 eina: let's check for returned value of realloc.
CID 1039689.
2014-06-05 03:20:56 +02:00
Cedric BAIL b67860e98f eina: remove logically dead code.
The for loop above would exit with at least length = 0, so < 0 is
just impossible.

CID 1039943.
2014-06-05 03:10:43 +02:00
Cedric BAIL f7fd1f1c84 eina: simplifie logic to not go with multiple level of callback for just getting the first entry in a hash.
CID 1039937.
2014-06-05 03:02:06 +02:00
Cedric BAIL ba53bf8533 eina: fix possible memory leak on failure in eina_tiler_equal.
CID 1216618, 1216615, 1216614.
2014-06-05 02:51:54 +02:00
ChunEon Park 328d28a7f4 eina/file - revert 18be4c50d9
I realized that's not a bug in eina but user usage was inccorect.
revert the patch

@fix
2014-05-31 18:34:48 +09:00
Guillaume Friloux 619987bc2e Remove warning by adding eina_cpu.h which expose eina_cpu_page_size() 2014-05-30 10:25:05 +02:00
Guillaume Friloux 88b3db4ccf Removed double inclusion of eina_thread.h 2014-05-30 10:04:45 +02:00
Guillaume Friloux a6240d9874 Fix warnings in eina_thread.c 2014-05-30 10:01:42 +02:00
Guillaume Friloux 19e0422adf Fix warnings on calls to iconv, on freebsd. 2014-05-30 09:31:11 +02:00
Guillaume Friloux 3ab1b8afd8 Fix unused var warning when not building on linux. 2014-05-30 09:25:33 +02:00
Jean-Philippe Andre f4a0c8054f Win64: Fix a bunch of warnings
Fix invalid casts.
Use printf("%z") where appropriate.
Fix unused variables warnings.

Thanks vtorri for the patch.

@fix
2014-05-29 20:02:16 +09:00
MinJeong Kim 61cecf1f3f eina-tiler:add union, subtract, intersection, equal apis for tilers
Summary:
Support union, subtract, intersection, equal(comparison) between tilers.
@feature

Test Plan: Test with added test case(src/tests/eina/eina_test_tiler.c) and the example(src/examples/eina/eina_tiler_02.c)

Reviewers: gwanglim, devilhorns, raster, zmike, cedric

CC: cedric

Differential Revision: https://phab.enlightenment.org/D880
2014-05-28 16:51:30 +09:00
Jérémy Zurcher f8c2c57406 do not use EINA_FALSE instead of NULL 2014-05-07 17:45:11 +02:00
Mike Blumenkrantz a3927ca1a7 eina_value_free() now takes NULL like the rest of the efl free functions 2014-04-26 02:21:51 -04:00
Mike Blumenkrantz b550d5becb eina_hash now has helper functions for managing lists inside hashes
@feature
2014-04-25 10:52:15 -04:00
Daniel Kolesa eeb53222d0 eina: a highly irritating error in eina_file documentation 2014-04-09 15:48:41 +01:00
Jean-Philippe Andre e50bcc937c Eina: Fix mistake in a previous patch
Suffix length was not computed properly.
Also, the change on eina_mkstemps was a @feature:
add file extension support when creating temporary files
2014-04-02 14:53:00 +09:00