Commit Graph

503 Commits

Author SHA1 Message Date
Cedric BAIL ffb0bf8830 * eina_module: Add eina_module_find. Thanks to Fabiano Fidêncio <fidencio@profusion.mobi>.
SVN revision: 43847
2009-11-20 20:46:24 +00:00
Cedric BAIL 899b488741 * eina: Now it's possible set a level when eina should abort on log.
SVN revision: 43669
2009-11-13 17:52:43 +00:00
Gustavo Sverzut Barbieri 7df346f50e fix stringshare of small strings.
_eina_stringshare_small_bucket_find() was receiving the plength with
size -1 since the first character is the same, but inside it was not
doing the same, thus it was always failing the first test based on
size.



SVN revision: 43634
2009-11-12 19:41:02 +00:00
Raoul HECKY 279e0dde28 Initialize value for correct counting of # cpu on macosx
SVN revision: 43571
2009-11-09 10:39:49 +00:00
Raoul HECKY 7eb75cbd63 Add __MACH__ and __APPLE__ guards to compile on macosx
SVN revision: 43568
2009-11-09 09:07:10 +00:00
Sebastian Dransfeld a60aeb07a3 function defined as void, don't return a value
SVN revision: 43535
2009-11-08 19:52:31 +00:00
Vincent Torri 12f9e2f515 fix compilation on OpenBSD
SVN revision: 43516
2009-11-07 19:44:39 +00:00
Vincent Torri 2ccaf85b59 fix compilation of eina_amalgamation.c on Windows
SVN revision: 43513
2009-11-07 16:09:58 +00:00
Vincent Torri 7c24994f18 fix dist/distcheck rule
SVN revision: 43474
2009-11-06 01:02:35 +00:00
Vincent Torri a4d3d53e0d disable amalgamation by default
SVN revision: 43434
2009-11-03 16:52:45 +00:00
Jonathan Atton cbe78d32f2 Eina log : check main thread in eina_log_threads_shutdown
SVN revision: 43415
2009-11-02 10:08:57 +00:00
Vincent Torri 199400bc7d remove useless $(builddir)/ (also confirmed by a autoconf dev),
as anyway, '$(builddir)' is always '.' make distcheck passes.

Thanks to cantona who reported it.


SVN revision: 43401
2009-11-01 21:00:22 +00:00
Jonathan Atton 9191a1dfa3 Eina: renawe _threads_activated for amalgation
SVN revision: 43400
2009-11-01 20:13:12 +00:00
Jonathan Atton 4bfc091f41 Eina : add a prefix to STRINGSHARE_LOCK and LOG_LOCK
SVN revision: 43399
2009-11-01 20:09:26 +00:00
Jonathan Atton 6ea6dc0856 Eina : now eina stringshare is thread safe if eina_threads_init() is called. Eina log which was thread safe is now thread safe only if the previous functions is called
SVN revision: 43398
2009-11-01 19:50:18 +00:00
Christopher Michael af793b05d5 Patch to allow a quieter eina when using eina_log in your own libs/apps.
Approved by k-s.

Added some doxy to describe the new env variable. 
(Eina authors may want to reword this...up to you)



SVN revision: 43326
2009-10-28 12:48:04 +00:00
Jonathan Atton cc1863fc96 Eina: add eina_list_split_list()
SVN revision: 43307
2009-10-27 10:26:20 +00:00
Carsten Haitzler b2228247e1 warning--
SVN revision: 43259
2009-10-25 08:57:41 +00:00
Carsten Haitzler f78bded776 warning--
SVN revision: 43258
2009-10-25 08:52:47 +00:00
Carsten Haitzler ca7859168b shh warning
SVN revision: 43257
2009-10-25 08:45:36 +00:00
Iván Briano 044f05ca69 Fix docs for hash_free
SVN revision: 43237
2009-10-24 04:30:52 +00:00
Vincent Torri 568f723401 Add some more headers at the top of eina_amalgamation.c.
Fix compilation on Windows CE


SVN revision: 43054
2009-10-13 17:14:50 +00:00
Vincent Torri aa56214d0b Fix compilation on Windows wrt changes in fixed point code
SVN revision: 42822
2009-09-30 17:29:30 +00:00
Cedric BAIL 7a51d7bf39 * eina: Cleanup Eina fixed point implementation.
SVN revision: 42798
2009-09-29 12:04:50 +00:00
Vincent Torri 47e25ab257 * really export symbols on Windows (EFL_EINA_BUILD not
correctly defined)
 * add evil in the Requires.private field of eina-0.pc.in

SVN revision: 42702
2009-09-25 15:39:53 +00:00
Cedric BAIL 568acf4705 * eina_atofp: Always return EINA_TRUE on valid input string.
SVN revision: 42700
2009-09-25 12:02:14 +00:00
Vincent Torri 1079703690 return false if fp is NULL, update doc accordingly
SVN revision: 42699
2009-09-25 11:51:52 +00:00
Vincent Torri b2bda6edb2 * convert string to fp only if fp is not NULL
* add doc of eina_convert_atofp()
 * minor doc cleanup

SVN revision: 42697
2009-09-25 11:23:37 +00:00
Cedric BAIL 6a284f8178 * eina: Add eina_atofp.
SVN revision: 42694
2009-09-25 10:03:19 +00:00
Vincent Torri 7c47dc2c65 * add documentation for eina_convert_fptoa()
* fix typo in doc

SVN revision: 42691
2009-09-25 08:44:04 +00:00
Cedric BAIL 4ddba5724d * eina: Add eina_fptoa.
This is a small piece of code, but a big one for an edje fixed point implementation.


SVN revision: 42646
2009-09-23 16:47:08 +00:00
Vincent Torri e2b34b41ee * fix compilation on Windows when using amalgamation
* put alloca declaration at the beginning

SVN revision: 42517
2009-09-16 17:22:01 +00:00
Gustavo Sverzut Barbieri 5b68d0be34 minor fixes.
SVN revision: 42504
2009-09-15 22:32:24 +00:00
Vincent Torri 9b9c496175 move the declaration of variables at the beginning of the block
SVN revision: 42499
2009-09-15 21:20:08 +00:00
Cedric BAIL 8e6a393cf9 * eina_log: Fallback to mutex when spinlock doesn't exist.
SVN revision: 42489
2009-09-14 16:06:18 +00:00
Cedric BAIL d117093a55 * eina: Add explanation around compiler false positiv warning.
SVN revision: 42488
2009-09-14 15:28:55 +00:00
Rafael Antognolli 52de9e33cd Added the Eina_Tile_Grid_Slicer iterator.
This new iterator receives a rectangle as argument and tile_w X tile_h sized
tile, and slices the rectangle iterating over it on each iteration.



SVN revision: 42427
2009-09-11 23:51:47 +00:00
Gustavo Sverzut Barbieri 7d1745e3c1 constness++
SVN revision: 42426
2009-09-11 23:10:57 +00:00
Rafael Antognolli 0e716d559b EINA: Fix compilation when builddir != srcdir.
SVN revision: 42369
2009-09-09 20:37:23 +00:00
Vincent Torri 2d3021f128 * add amalgation support in configure output
* remove a warning when eina_amalgamation.c is deleted but does not exist
 * delete eina_amalgamation.c when doing 'make clean'


SVN revision: 42363
2009-09-09 07:42:08 +00:00
Gustavo Sverzut Barbieri 2de7c52bd1 remove easy warnings, 2 still left that I need someone else to check
proper fix.



SVN revision: 42358
2009-09-09 01:27:30 +00:00
Gustavo Sverzut Barbieri c98bf92366 replace UNLIKELY() with EINA_UNLIKELY()
SVN revision: 42354
2009-09-08 21:42:17 +00:00
dieb 073dd0542c Fix segv reported by Peter Wehrfritz on eina init/shutdown (specifically on
eina_log init/shutdown as it wasn't resetting domains counters properly).


SVN revision: 42334
2009-09-07 23:23:03 +00:00
Gustavo Sverzut Barbieri 9b3e482ad2 --enable-amalgamation
This will concatenate all source files in the hope compiler will do a
better job. On my test with static/built in mempools it saves me 4k, I
guess some intra module calls can be saved.



SVN revision: 42315
2009-09-07 05:54:42 +00:00
Gustavo Sverzut Barbieri b84e3424fe use quotes to include config.h
SVN revision: 42314
2009-09-07 04:32:49 +00:00
Gustavo Sverzut Barbieri 8318f4c1f2 allow amalgamation of files, at least symbols don't clash anymore.
more related to amalgamation later.



SVN revision: 42312
2009-09-07 04:23:05 +00:00
Gustavo Sverzut Barbieri a4bd77905d malloc--: error and magic can take statically defined strings so no
need to strdup them.



SVN revision: 42311
2009-09-07 03:32:22 +00:00
Gustavo Sverzut Barbieri 404e3e09fb API BREAK: eina_magic_string_set() does not change existing strings anymore.
It's pointless to be able to change magic number string after it's
created, so let's avoid walking the existing list and just remove
places where strings were being duplicated (list/array both inited
magic strings for accessor/iterators).

Also an optimization, register using an array and sort it before
searching. Sort will just happen when array was changed, and this is
just done when eina_magic_string_get() is called.




SVN revision: 42310
2009-09-07 02:33:54 +00:00
Gustavo Sverzut Barbieri 4baa70798c eina_inlist.h is not required anymore.
SVN revision: 42305
2009-09-06 22:56:34 +00:00
Gustavo Sverzut Barbieri 777e74ce7d eina_error: improvements to make it faster.
Use a simple array instead of inlist, error get is now much faster
using direct index access.



SVN revision: 42304
2009-09-06 22:54:49 +00:00
Gustavo Sverzut Barbieri f98bf21da7 allocate more buckets on init to save couple of reallocs during startup.
SVN revision: 42303
2009-09-06 22:34:38 +00:00
Gustavo Sverzut Barbieri 205e0fe399 fix macro positioning of '\'
SVN revision: 42302
2009-09-06 22:25:36 +00:00
Gustavo Sverzut Barbieri e4af7c100c EINA API BREAK: no more individual modules init/shutdown.
Being able to indivually initialize individual modules was initially
"good", but at end it's putting complexities on users that would try
to "optimize" by doing just what they used, but in the end most people
would get them wrong, users would have to do lots of code and etc. At
the end it does not worth.

Most module init just register handful errors and log domains, so are
cheap. The exception is mempool users, that would dlopen() stuff, but
people that are concerned (embedded) can just compile those statically
in eina.

Since at the end any real application would use most of modules, we
actually end saving lots of function calls that would do nothing other
than increment a global counter.

I also did the init/shutdown use an array, making it easier to
maintain. The inital dependencies were analysed by a script I wrote, I
hope it's all right.

Please fix any breakages you find!



SVN revision: 42300
2009-09-06 22:21:56 +00:00
Vincent Torri 718873e00c shut down safety checks in the log module
Note : currently, because of a circular calls of
eina_log_init() and eina_safety_checks_init(), eina
is not correctly shut down. Imho, eina_log should not
depend on the safety checks module. That would mean
some fprintf in eina_log_domain_new(), eina_log_domain_free(),
eina_log_domain_register()and eina_log_domain_unregister().


SVN revision: 42292
2009-09-06 15:25:35 +00:00
Vincent Torri e780763aa0 shutdown array module
SVN revision: 42287
2009-09-06 08:39:04 +00:00
Gustavo Sverzut Barbieri 5846195caf eina_log: be able to disable function or line.
write down specialized cases for threads or not, function or file,
color or not. Maybe it's not even an optimization since we add yet
another indirection/function call, but each case is simpler.

 * EINA_LOG_FILE_DISABLE=1: disables show of file:line in
   stderr/stdout messages.
 * EINA_LOG_FUNCTION_DISABLE=1: disables show of function() in
   stderr/stdout messages.

one must not use the two options at the same time, if that's the case
code will ignore EINA_LOG_FILE_DISABLE=1 and use just function
disable.



SVN revision: 42272
2009-09-04 23:45:16 +00:00
Vincent Torri d56568b7f9 eina_log uses pthreads now (if enabled), so link libeina against pthread
SVN revision: 42248
2009-09-04 16:25:18 +00:00
Gustavo Sverzut Barbieri eef2d35ea6 eina_matrixsparse: loggify, install header, remove warnings and coding style.
* use eina_log
 * install eina_matrixsparse.h
 * remove unused variable
 * fix coding style issue reported by Vincent



SVN revision: 42246
2009-09-04 14:18:05 +00:00
Gustavo Sverzut Barbieri 643958705b eina_matrixsparse: welcome sparse matrix implementation and tests.
Sparse Matrix was implemented and tested by Rafael Antognolli and
myself in order to implement optimized large sparse matrix walk in
some products, one of them WebKit-EFL optimizations.

We have done extensive tests, with good code coverage. Similar to
lists/inlists, we keep pointer to last known element and similar to
iterators we keep reference to last accessed row and cell inside
rows. This allows fast sequential access (for i... for j... m[i,j]),
that is our most common usage case.

Rows are kept in a list, with cells inside that row as another
list. It's not similar to most book implementations where cells keep
reference to their sibling cells in other rows as well, we opted to
not do that to save some pointers and make algorithms simpler, still
do great for our use case.

This code was developed on behalf of our client, that wants to remain
unnamed so far. Thanks client ;-)



SVN revision: 42243
2009-09-04 13:43:44 +00:00
Gustavo Sverzut Barbieri e88b62b295 oops! thanks Vincent.
SVN revision: 42230
2009-09-04 03:52:05 +00:00
Gustavo Sverzut Barbieri 4d5fbb7742 loggify array.
this is the last eina module to be converted to eina_log! :-)


SVN revision: 42228
2009-09-04 02:35:24 +00:00
Gustavo Sverzut Barbieri 5ea9ceeafc eina_module must initialize eina_array as it is used.
SVN revision: 42227
2009-09-04 02:34:48 +00:00
Gustavo Sverzut Barbieri dfee09d6b0 make it easier to spot wrong users of eina_log_print()
SVN revision: 42226
2009-09-04 02:34:10 +00:00
Gustavo Sverzut Barbieri 9f8dfea129 loggify rectangle.
SVN revision: 42225
2009-09-04 02:11:44 +00:00
Gustavo Sverzut Barbieri 04489ec727 loggify stringshare, with extensive debug.
note that one can turn per module debug, for example:

   EINA_LOG_LEVEL=4 EINA_LOG_LEVELS=eina_stringshare:0 ./bla

will enable level 4 (debug) for all modules except eina_stringshare
that is forced to 0 (just critical messages).



SVN revision: 42224
2009-09-04 02:03:46 +00:00
Gustavo Sverzut Barbieri 21545b087a loggify stringshare.
SVN revision: 42223
2009-09-04 01:54:37 +00:00
Gustavo Sverzut Barbieri ecbff0cb75 loggify main.
SVN revision: 42222
2009-09-04 01:48:36 +00:00
Gustavo Sverzut Barbieri 8a2c84631c loggify list.
SVN revision: 42221
2009-09-04 01:43:50 +00:00
Gustavo Sverzut Barbieri 8ca1675c51 eina_error: deprecated old logging, move to eina_log.
SVN revision: 42220
2009-09-04 01:37:11 +00:00
Gustavo Sverzut Barbieri 2406791660 loggify benchmark.
SVN revision: 42219
2009-09-04 01:19:19 +00:00
Gustavo Sverzut Barbieri dac152772f loggify mempool.
SVN revision: 42218
2009-09-04 01:13:49 +00:00
Gustavo Sverzut Barbieri 253a9623e9 loggify eina_convert.
SVN revision: 42217
2009-09-04 01:03:27 +00:00
Gustavo Sverzut Barbieri eeb2d38d38 eina_log_vprint() for those that want to wrap it in other functions.
SVN revision: 42216
2009-09-04 00:57:09 +00:00
Gustavo Sverzut Barbieri 0dd3836c56 missing file, sorry.
SVN revision: 42215
2009-09-04 00:56:16 +00:00
Gustavo Sverzut Barbieri 07d2bde900 eina_safety_checks_init()
All these individual init functions are getting messy, some modules
lack them and it's easy to get inconsistent. Safety check needs error
and log, but these need safety checks as well, some modules (lalloc,
rbtree and others) use safety checks but provide no _init().

I want to know if we really gain something to init individual
modules. It should not be that expensive as init should not allocate
heavy resources and the recommendation is to call eina_init() so most
users will do that anyway.

If people agree I'll unmark all *_init() as EAPI and make them private
to eina lib.



SVN revision: 42214
2009-09-04 00:53:19 +00:00
Gustavo Sverzut Barbieri cee03dcb3c eina_log: CONVENTION BREAK!!!! automatically adds \n
Automatically add \n to messages. Since we use that prefix, there is
no use to allow messages without \n, it would look a mess.

Some logging systems may not require the trailing newline, for example
logging to xml or syslog, for those you don't need to ignore this char
if present.

Yes, this breaks convention, but better now than latter. And the
results are not so bad.



SVN revision: 42200
2009-09-03 01:39:45 +00:00
Gustavo Sverzut Barbieri 8024360138 eina_log: thread safe logging!
eina_log_threads_enable() and then get thread safe logging with
non-main threads being printed with special notation to easily spot
those.



SVN revision: 42199
2009-09-03 01:31:26 +00:00
Gustavo Sverzut Barbieri d8ee1b3a24 eina_log: fix error handling and handle deleted domains.
EINA_SAFETY_CHECKS will call eina_log, so calling these from inside
eina_log_print() may lead to recursion, that is really bad (although
it seems it would never lead to infinite recursion).

handle d->deleted, also showing error.



SVN revision: 42198
2009-09-03 00:17:27 +00:00
Gustavo Sverzut Barbieri 9fb9b1259d eina_log: fix stderr, improve log output.
* stderr logger was doing prefix properly but user message to stdout, fixed.
 * log is improved:
   * grep-able, it shows the 3 letter level name as prefix, unknown levels
     will have their number printed.
   * colors just on prefix, less polluted output still easy to spot.
   * function names are highlighted.



SVN revision: 42197
2009-09-03 00:07:25 +00:00
Gustavo Sverzut Barbieri 418c99a8e3 eina_log improvements: docs, micro optimizations and stderr logging by default.
* more docs.
 * do not getenv("EINA_LOG_ABORT") everytime, just at init.
 * EINA_UNLIKELY() in some critical paths (not that big impact anyway)
 * eina_log_print_cb_stderr() and use it by default.




SVN revision: 42196
2009-09-02 23:28:00 +00:00
Gustavo Sverzut Barbieri bb717a3be5 less malloc and memory fragmentation.
not that important, but an easy improvement does not hurt.



SVN revision: 42195
2009-09-02 23:11:22 +00:00
Gustavo Sverzut Barbieri 2f8ded1037 loggify eina_module, adding couple of debug info.
SVN revision: 42194
2009-09-02 23:06:55 +00:00
Gustavo Sverzut Barbieri c1e2a300e4 coding style/indent.
SVN revision: 42193
2009-09-02 22:39:41 +00:00
Cedric BAIL 49cb141f10 * eina_magic: Test suite now work when magic debug is disabled.
SVN revision: 42150
2009-09-01 12:17:13 +00:00
Vincent Torri 8f53c520a4 typo
SVN revision: 42091
2009-08-29 20:53:12 +00:00
Vincent Torri 2a5548f8e9 better fix : if HW_AVAILCPU is defined, we use it, otherwise we use HW_NCPU
SVN revision: 42090
2009-08-29 19:59:26 +00:00
Vincent Torri 841aaa8f52 typo
SVN revision: 42089
2009-08-29 19:29:30 +00:00
Vincent Torri 9f01ad25cf fix for the BSD systems
SVN revision: 42088
2009-08-29 16:39:59 +00:00
Vincent Torri 72b87160a2 * add eina_config.h in all source files. Fix linking with Visual Studio
* move eina_private.h and eina_safety_checks.h just after eina_config.h


SVN revision: 42077
2009-08-28 12:03:34 +00:00
Vincent Torri 5612cf9020 * declare variables at the beginning of the block
* strtol returns a long int

SVN revision: 42063
2009-08-28 07:21:35 +00:00
Vincent Torri bc6ee8c17a fix warning with vc++
SVN revision: 42062
2009-08-28 07:15:49 +00:00
dieb c891a34a08 Add eina_log module into the main module and global header.
SVN revision: 41985
2009-08-25 21:26:27 +00:00
Gustavo Sverzut Barbieri c8534587f2 do not check for data, eina_iterator_next/eina_accessor_data_get() does that.
SVN revision: 41984
2009-08-25 21:05:00 +00:00
dieb d7bbc05b12 Initial import of the new eina logging API.
* eina_error might be kept for error messages and codes, but it's logging API
  will be deprecated. For now, it's been kept for not breaking others code and
  for a smoother transition.
* Added test for new logging API, also demonstrates usage.


SVN revision: 41960
2009-08-24 21:43:48 +00:00
Vincent Torri 37fc8c9674 fix warning
SVN revision: 41943
2009-08-23 20:37:17 +00:00
Vincent Torri 6e7aecc7c0 * Put definition of alloca before any standard header
files according to the doc
 * define _GNU_SOURCE before the inclusion of alloca
   as features.h inclued by alloca.h, defines some
   macros according to _GNU_SOURCE.



SVN revision: 41940
2009-08-23 09:18:14 +00:00
Vincent Torri 989ade86dd fix a bit the documentation
SVN revision: 41870
2009-08-19 07:54:13 +00:00
Vincent Torri 2d97e95d2a clean a bit the hamster
SVN revision: 41869
2009-08-19 07:36:39 +00:00
Cedric BAIL 0b7407905c * eina_rectangle: Add a local cache to rectangle creation.
SVN revision: 41856
2009-08-18 13:35:33 +00:00
Gustavo Sverzut Barbieri 425ebc47f5 improve docs and simplify macro, by kubo.
Kubo just found that docs could be improved and macro could be
simplified during his learning of EFL. Big bonus he did the
improvements =)



SVN revision: 41799
2009-08-16 00:47:23 +00:00
Cedric BAIL c634e07770 * eina: Fix typo.
SVN revision: 41762
2009-08-14 14:22:25 +00:00
Carsten Haitzler 819c572d1c amazing time hamsters!
SVN revision: 41728
2009-08-13 01:26:08 +00:00
Carsten Haitzler d0c5158f5b eina hamster++
<dieb_> weird, undefined refernce to eina_cpu_count
<raster> you have no cpus!
<dieb_> dammit!
<Sachiel> try eina_hamster_count
<dieb_> lo
<raster> oh god
<raster> now u did it
<raster> i have to add that
<dieb_> heheheh



SVN revision: 41727
2009-08-13 00:47:55 +00:00
Cedric BAIL e713c62730 * eina_stringshare: We should use "unsigned char", because suncc think that char is signed.
SVN revision: 41697
2009-08-12 09:02:09 +00:00
Cedric BAIL ae1d5b38bb * eina: eina_cpu_count should be multiplatform.
SVN revision: 41689
2009-08-11 14:11:36 +00:00
Rafael Antognolli a67732bb88 Fixed check at the start of eina_list_accessor_get_at.
SVN revision: 41634
2009-08-07 20:28:05 +00:00
Gustavo Sverzut Barbieri 7526d8e309 be more clear in docs.
SVN revision: 41629
2009-08-07 01:35:16 +00:00
Gustavo Sverzut Barbieri 944be7e745 Bugfix eina_list_search_sorted_near_list() add sorted_insert.
eina_list_search_sorted_near_list() was broken and barfed at my face
during development of eina_list_sorted_insert(), so I rewrote it
following more traditional approach, also adding special cases for
head/tail remembering that random access in lists is not as fast as
array. I also simplified that code.

eina_list_sorted_insert() should be fast, O(log2 n) insert, with
special cases to insert already sorted arrays forwards or backwards,
however I believe that it's better to simply append/prepend in those
cases (if known).



SVN revision: 41625
2009-08-06 22:31:45 +00:00
Gustavo Sverzut Barbieri 4f39f6861a API BREAK: eina_list_search_sorted_near_list() gets one more parameter.
This should not impact anybody, at least in SVN I got no hits for this
function.

The new parameter contains the result of the last call to func(), so
we can know if the node is smaller, bigger or exactly the requested
value and don't need to call func() on node to know for sure.



SVN revision: 41623
2009-08-06 19:01:47 +00:00
Gustavo Sverzut Barbieri 638e79b91e smarter eina_list_merge(), more tests.
eina_list_merge() now fixes the smallest list segment, not always the
right. Before if we joined a list 1 to 1000 segments we'd fix all the
1000 instead of the single at left.

Tests to make sure both code paths are being executed.



SVN revision: 41622
2009-08-06 18:35:53 +00:00
Gustavo Sverzut Barbieri 70a599936d oops, consider fixed_bitmap if it was built statically.
SVN revision: 41621
2009-08-06 18:08:14 +00:00
Gustavo Sverzut Barbieri aeef508b8a eina list docs.
* document undocumented functions.
 * note order of magnitude of each function, try to avoid users
   falling into traps.



SVN revision: 41619
2009-08-06 15:50:19 +00:00
Cedric BAIL 2bc76eab5a * eina_rectangle: Forgot to initialise one attribute.
SVN revision: 41606
2009-08-05 14:46:21 +00:00
Cedric BAIL 5784d74daa * eina: Add eina_cpu_count.
SVN revision: 41543
2009-07-30 16:45:15 +00:00
Cedric BAIL e75b89d50c * eina: Handle NULL in eina_list_search_sorted_near_list.
SVN revision: 41467
2009-07-21 15:21:46 +00:00
Gustavo Sverzut Barbieri 14105484aa Eina rectangle missing list init.
Rectangle needs the list module for the pool_new() function. Patch
also adds a check for initialization error on the unit test.

By: Andre Dieb


SVN revision: 41460
2009-07-21 01:55:31 +00:00
Cedric BAIL b02de756a6 * eina: Rename eina_module_list_delete to eina_module_list_flush.
SVN revision: 41385
2009-07-17 11:13:38 +00:00
Gustavo Sverzut Barbieri a772d03b40 inlist: docs, docs docs
SVN revision: 41328
2009-07-14 15:32:21 +00:00
Gustavo Sverzut Barbieri 9af4d08f79 one more safety check: do not remove element if it's not in any list.
This is the best we can do, but what should be done is to check if
element is really from that list.



SVN revision: 41326
2009-07-14 14:00:59 +00:00
Cedric BAIL 729eaf324c * eina: Remove recursion from eina_rectangle.
SVN revision: 41263
2009-07-07 11:24:44 +00:00
Cedric BAIL dbaeb5eaba * eina: Partial fix for ticket #286.
SVN revision: 41241
2009-07-03 12:39:32 +00:00
Vincent Torri 7a3b2110bf * more doc
* check the returned value of eina_error_init() in eina_module_init()


SVN revision: 41218
2009-06-28 06:29:11 +00:00
Vincent Torri 4d5e99df01 add minimum supported version for Windows CE and XP
SVN revision: 41198
2009-06-25 19:55:06 +00:00
Cedric BAIL f60c798f1d * eina: Fix rectangle merge.
SVN revision: 41193
2009-06-25 10:58:16 +00:00
Vincent Torri ebc20c2236 API BREAK: fix Eina API so that it is more consistent with the other EFL
what is modified:

eina_counter_add -> eina_counter_new
eina_counter_delete -> eina_counter_free
eina_lalloc_delete -> eina_lalloc_free
eina_mempool_new -> eina_mempool_add
eina_mempool_delete -> eina_mempool_del
eina_mempool_alloc -> eina_mempool_malloc
eina_tiler_del -> eina_tiler_free

It remains some questions: have the following API a good name:

eina_module_list_delete
eina_list_free
eina_rbtree_delete

(see ticket #286)

If you find any problem, please report in that thread


SVN revision: 41187
2009-06-24 16:56:49 +00:00
Cedric BAIL 3b384b323c * eina: Faster Eina_Rectangle_Pool (should be used by OpenGL engine).
SVN revision: 41185
2009-06-24 13:38:25 +00:00
Cedric BAIL 0c9aead634 Evas_Rectangle are gone. We now use Eina_Rectangle and memory pool is
shared accross the application.


SVN revision: 41170
2009-06-23 13:57:27 +00:00
Vincent Torri 9110d8d574 fix a bit the documentation, but there are still
a lot of doc to write...


SVN revision: 41164
2009-06-22 20:03:58 +00:00
Cedric BAIL b8e164fb01 * eina_rectangle: Fix typo.
SVN revision: 41158
2009-06-22 13:46:05 +00:00
Cedric BAIL af1e7f5dc9 * eina: Fix API naming for eina_rectangle and add a global allocator.
SVN revision: 41155
2009-06-22 13:16:51 +00:00
Gustavo Sverzut Barbieri 4eb71900a2 and rename static linkage as well.
SVN revision: 41131
2009-06-20 16:31:15 +00:00
Vincent Torri 8021f6beeb formatting
SVN revision: 41120
2009-06-20 06:47:03 +00:00
Vincent Torri 8909bb6b69 * All memory pools can be enabled / disabled
* Allow to pass 'static' to configure memory pools
 * Add fixed_bitmap in the possible statically linked memory pools

For example:

./configure --enable-chained-pool=static --disable-fixed-bitmap


SVN revision: 41119
2009-06-20 06:42:32 +00:00
Cedric BAIL 7a18ab5ebc * eina: Add an eina_hash_stringshare_new.
SVN revision: 41112
2009-06-19 14:44:23 +00:00
Cedric BAIL bba26ef811 * eina: Improve eina hash manipulation for int.
- Faster int key comparison.
	- Key Length callback could now be NULL and 0 will be assumed.


SVN revision: 41100
2009-06-18 12:08:52 +00:00
Lars Munch 7bcbe02a3e Use correct module extension on cygwin
Patch from: booleanlabel at gmail dot com. Thanks.



SVN revision: 41094
2009-06-18 04:06:34 +00:00
Gustavo Sverzut Barbieri 32ff1f0aa4 better error setting and reporting in module loading.
* just set error codes if we know the error.
 * debug dlopen() error using EINA_ERROR_PDBG()



SVN revision: 41057
2009-06-16 14:59:09 +00:00
Cedric BAIL 35526933af * eina: Remove memory leak (patch from Andre Dieb).
SVN revision: 40986
2009-06-09 16:02:20 +00:00
Vincent Torri 5bd14d2a05 * modify the way eina_config.h is built (see eina_config.h.in
and configure.ac)
 * include eina_config.h explicitely in files where the macros
   of eina_config.h are used
 * define eina_magic_string_init()  and eina_magic_string_shutdown()
   even when the mugle option is set (magic disabled)
 * formatting and fix in configure.ac


SVN revision: 40962
2009-06-08 08:27:33 +00:00
Gustavo Sverzut Barbieri df58840124 do not leak module if user do not want it.
SVN revision: 40924
2009-06-06 22:53:03 +00:00
Vincent Torri 33cfc873ec Fix init error handling of array, benchmark, counter,main,
rectangle and stringshare modules. Patch by Andre Dieb, modified
by me (formatting and fix for the Windows code in eina_counter)


SVN revision: 40915
2009-06-06 04:22:21 +00:00
Cedric BAIL 5aeb9bbe82 * Fix some init/shutdown procedure.
SVN revision: 40892
2009-06-04 09:02:29 +00:00
Gustavo Sverzut Barbieri ebeabe3735 enable adding just part of a string.
this allows us to add stringshare from a larger buffer that cannot be
modified.


SVN revision: 40516
2009-05-06 04:11:01 +00:00
Carsten Haitzler ce5a59b7e5 lutin... release soname patch. verbose svn soname used right now
SVN revision: 40131
2009-04-17 10:01:45 +00:00
Viktor Kojouharov b2eeca9783 fix docu
SVN revision: 39989
2009-04-11 16:59:39 +00:00
Cedric BAIL 5016004597 * eina_rectangle: Use a mempool to reduce memory allocation.
SVN revision: 39909
2009-04-09 15:51:32 +00:00
Gustavo Sverzut Barbieri 78f4f011d0 export vargs version of eina_error_print().
SVN revision: 39879
2009-04-06 12:41:50 +00:00
Vincent Torri 46b3ef7d0c Fix llvm report in eain_tiler.
The remaining llvm reports, in eina_rbtree.c, are not correct, I think.


SVN revision: 39710
2009-03-25 12:04:21 +00:00
Vincent Torri 18258b5721 fix llvm report in eina_stringshare
SVN revision: 39707
2009-03-25 10:32:33 +00:00
Vincent Torri bda0cab9dd fix llvm reports in eina_list
SVN revision: 39706
2009-03-25 09:24:56 +00:00