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
f86aa350c6
allow limit tests to run.
...
eina_suite TEST1 TEST2 ... is your friend ;-)
SVN revision: 41624
2009-08-06 22:22:56 +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
Carsten Haitzler
1ea1c629cb
back to pre ver's
...
SVN revision: 41535
2009-07-29 08:19:34 +00:00
Carsten Haitzler
6db38393cd
SNAPSHOT: svn-03
...
SVN revision: 41532
2009-07-29 08:03:25 +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
Gustavo Sverzut Barbieri
25ac55ae09
update rectangle test to new API.
...
Guys, when you change API, please change it everywhere and then run tests!
By: Andre Dieb
SVN revision: 41421
2009-07-18 15:58:44 +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
Cedric BAIL
6ca987941f
* eina: Fix declaration according to Vincent Torri review.
...
SVN revision: 41359
2009-07-16 12:09:29 +00:00
Carsten Haitzler
01062bf98b
cast. c++ doesn't like the implied void * -> struct * cast.
...
SVN revision: 41358
2009-07-16 03:04:56 +00:00
Cedric BAIL
a477424685
* eina: Expose an helper for memory pool as Eina_Trash data type.
...
SVN revision: 41350
2009-07-15 13:13:52 +00:00
Gustavo Sverzut Barbieri
a772d03b40
inlist: docs, docs docs
...
SVN revision: 41328
2009-07-14 15:32:21 +00:00
Gustavo Sverzut Barbieri
a6f46561e7
add missing stddef.h, required by offsetof()
...
SVN revision: 41327
2009-07-14 15:32:01 +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
Lars Munch
0b02e8f8a3
On windows use evil's dladdr implementation so you dont have to set
...
EINA_MODULES_MEMPOOL_DIR and EVAS_MODULES_DIR in the windows environment.
SVN revision: 41230
2009-07-02 07:45:01 +00:00
Vincent Torri
07d7e5ce66
* remove the mention of the static link check in configure ouput
...
* add a (ecologic) warning at the end of configure if a module is
statically linked to eina
SVN revision: 41226
2009-06-30 16:18:41 +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
390f94bcfd
update m4 macros (mainly formatting)
...
SVN revision: 41212
2009-06-27 06:42:14 +00:00
Vincent Torri
c5ed7f0de4
* fix typo
...
* move option of e17 benchmark to its correct place
SVN revision: 41204
2009-06-26 07:52:56 +00:00
Vincent Torri
b38a118162
* use a m4 macro for checking benchmark libraries and
...
check the libraries only if benchmarking is enabled
* add extra dist files to be able to configure eina
with autogen.sh and also add .spec files
SVN revision: 41203
2009-06-26 07:20:15 +00:00
Vincent Torri
c94a92a174
* Remove the use of HAVE___ATTRIBUTE__ (which is defined at
...
configure time) in an exported header. Use only macros
defined by the compilers, which is sufficient and simpler.
* Add missing EINA_DEPRECATED in some cases.
SVN revision: 41199
2009-06-25 19:58:05 +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
746302ad53
* eina: Make eina benchmark more configurable.
...
SVN revision: 41183
2009-06-24 12:48:33 +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
Vincent Torri
3ecc808ae2
remove documentation on how to build eina with static mempools
...
SVN revision: 41161
2009-06-22 17:38:56 +00:00
Cedric BAIL
b8e164fb01
* eina_rectangle: Fix typo.
...
SVN revision: 41158
2009-06-22 13:46:05 +00:00
Cedric BAIL
5c5cb1fdb1
* eina: Add a benchmark for eina_rectangle_pool.
...
SVN revision: 41157
2009-06-22 13:24:13 +00:00
Cedric BAIL
4fa66bcae9
* eina: Evas_Data are gone so unactivate benchmark.
...
SVN revision: 41156
2009-06-22 13:20:29 +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
ddee121285
i forgot to rename file...
...
SVN revision: 41126
2009-06-20 10:17:37 +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
Cedric BAIL
3f064e8818
* AUTHORS: Update to reflect new contribution from Albin.
...
SVN revision: 41076
2009-06-17 12:41:48 +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
Carsten Haitzler
9394f73104
back to svn soname
...
SVN revision: 41042
2009-06-15 06:29:43 +00:00
Carsten Haitzler
e81db0f5a3
make distcheck and... SNAP!
...
SVN revision: 41039
2009-06-15 05:32:49 +00:00
Gustavo Sverzut Barbieri
3d720628ce
Add DragonFly BSD and simplifies other conditions.
...
By: Joerg Sonnenberger.
SVN revision: 41020
2009-06-12 17:48:10 +00:00
Vincent Torri
320619b866
Remove trailing slash in the installation directory
...
Fix installation of the eina modules with automake 1.11
SVN revision: 41013
2009-06-12 07:35:53 +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
Vincent Torri
46836c875f
fix documentation
...
SVN revision: 40914
2009-06-06 03:55:32 +00:00
Cedric BAIL
4de864c578
* eina: Update eina authors list.
...
SVN revision: 40893
2009-06-04 09:11:20 +00:00
Cedric BAIL
5aeb9bbe82
* Fix some init/shutdown procedure.
...
SVN revision: 40892
2009-06-04 09:02:29 +00:00
Gustavo Sverzut Barbieri
7b7ece4046
fix debian rules files.
...
* fix the way AC_INIT macros are parsed to consider [] as well.
* set both LDFLAGS and CFLAGS on the libs I use and I know support -fvisibility=hidden.
SVN revision: 40838
2009-05-26 17:34:53 +00:00
Cedric BAIL
c38a387a05
* eina: Patch from Albin Tonnerre that add a new accessor for Inlist container.
...
SVN revision: 40726
2009-05-18 14:49:57 +00:00
Vincent Torri
8b6f8ea2d8
underquoted parameters of AC_INIT
...
SVN revision: 40651
2009-05-15 08:12:38 +00:00
Vincent Torri
983479952f
update efl_doxygen.m4
...
SVN revision: 40650
2009-05-15 08:11:51 +00:00
Vincent Torri
221882c996
don't use the release stuff for Windows CE
...
SVN revision: 40624
2009-05-13 18:42:40 +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
Davide Andreoli
de2cd99b4b
* New style for Eina Doxy... now lets see what will happend with the online generation ;)
...
SVN revision: 40467
2009-04-29 21:44:33 +00:00
Daniel Kolesa
f53053c1ca
Missing build-deps
...
SVN revision: 40446
2009-04-28 16:38:18 +00:00
Carsten Haitzler
8e52d827ec
move to uses no []'s as it works for me, but for belem... inconsistent []'s
...
doesnt work.
SVN revision: 40300
2009-04-23 00:32:53 +00:00
Daniel Kolesa
875d89a9fe
Updated debian stuff for core EFL. Changed debian stuff of others to work with core EFL updates.
...
SVN revision: 40292
2009-04-22 16:37:17 +00:00
Carsten Haitzler
9d18df3109
and incriment to next rev.
...
SVN revision: 40285
2009-04-22 14:08:21 +00:00
Carsten Haitzler
99ccf484f8
snapworth quality - distchecked. sonames bumped. rev's bumped. tarballs
...
uploaded.
SVN revision: 40284
2009-04-22 14:07:05 +00:00
Daniel Kolesa
7a07300a77
Updated changelogs for packages which will go into repository.
...
SVN revision: 40270
2009-04-21 17:39:20 +00:00
Carsten Haitzler
e39dc41493
1. embryo shoudl have soname
...
2. yes local.conf slipped in - ignore
3. added soname version release to module arch dirs
4. adapted extra-modules to use the revision in arch
5. made e17 also have a release rev
6. dummy release stuff in eet - wont use it as its already released.
SVN revision: 40267
2009-04-21 14:17:42 +00:00
Daniel Kolesa
c06e55cc1b
Merged with pkgE
...
SVN revision: 40226
2009-04-19 16:22:00 +00:00
Daniel Kolesa
5d5d17960d
Prepared for merge with pkgE debian stuff
...
SVN revision: 40225
2009-04-19 16:18:41 +00:00
Vincent Torri
045986b465
fix rectangle unit test
...
SVN revision: 40158
2009-04-18 09:17:37 +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
Daniel Kolesa
cd8dd91b01
Updated debian stuff(grew Standards-Version, updated python-ecore rules file)
...
SVN revision: 40043
2009-04-14 17:21:19 +00:00
Viktor Kojouharov
b2eeca9783
fix docu
...
SVN revision: 39989
2009-04-11 16:59:39 +00:00
Daniel Kolesa
c2cc688e9e
Added doxygen to eina deps in debian
...
SVN revision: 39922
2009-04-10 09:05:24 +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
Carsten Haitzler
1c00a019e9
new -> news. people with g++ using eina in their c++ stuff will be most
...
un-amused by the use of a variable called "new".
SVN revision: 39905
2009-04-09 05:55:51 +00:00
Gustavo Sverzut Barbieri
2e9a9a9700
eina_stringshare_replace() gets in!
...
I was replicating this code in many places, it should go into eina itself.
It's the right way to change strings that you don't know are
stringshared before, since it will first add a reference and then
remove, making it impossible to have references to go 0 and string
being released before adding new references, fixing the following
possible problem:
x = eina_stringshare_add("x");
replace(x, x);
then:
incorrect_replace(const char **b, const char *a) {
eina_stringshare_del(*b); /* reference gets to 0 */
eina_stringshare_add(a); /* BUG!!! */
*b = a;
}
SVN revision: 39903
2009-04-08 18:25:02 +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
Daniel Kolesa
47d3a66c13
i found it is useless and cdbs is setting up prefix automatically.
...
SVN revision: 39695
2009-03-24 19:56:43 +00:00
Daniel Kolesa
510ec92901
forgot to add --prefix=/usr
...
SVN revision: 39694
2009-03-24 19:51:00 +00:00
Daniel Kolesa
1bce155f0f
Updated debian stuff everywhere.
...
SVN revision: 39693
2009-03-24 19:44:57 +00:00
Vincent Torri
309606b2dd
use variadic macros, as suggested by Gustavo
...
SVN revision: 39663
2009-03-24 07:10:46 +00:00
Vincent Torri
7e809db9c8
fix some llvm report
...
SVN revision: 39657
2009-03-23 20:36:10 +00:00
Vincent Torri
842c9843ec
Fix compilation on OpenBSD (bug #250 ). Patch by eumel.
...
SVN revision: 39627
2009-03-22 13:40:28 +00:00
Vincent Torri
2b1fe0c3b9
change the variable near to lnear, as it seems
...
that it's a keyword on Windows...
SVN revision: 39621
2009-03-22 12:22:39 +00:00
Gustavo Sverzut Barbieri
124e0c4a1b
deprecated attribute
...
SVN revision: 39597
2009-03-20 01:00:35 +00:00
Gustavo Sverzut Barbieri
21f6be2f66
constness++
...
SVN revision: 39596
2009-03-20 01:00:04 +00:00
Cedric BAIL
e027bb8a6e
* eina_list: Add a eina_list_search_sorted_near_list. Usefull if you want to build
...
a sorted list.
SVN revision: 39550
2009-03-18 15:00:52 +00:00
Cedric BAIL
9fab9595b5
* eina_list: Add eina_list_search_sorted_list and eina_list_search_unsorted_list.
...
SVN revision: 39546
2009-03-18 13:29:36 +00:00
Gustavo Sverzut Barbieri
bd6ef0cce1
add missing prototype.
...
SVN revision: 39516
2009-03-17 13:05:02 +00:00
Gustavo Sverzut Barbieri
56d1e979ce
fix docs and add clone and reversed iterator calls.
...
* docs: be clear if it's a copy or in-place.
* clone: add some apis to create a copy while operates, sort should
do the same.
* reversed iterator: new call to walk the list reversed, will make
life easier in some cases.
SVN revision: 39515
2009-03-17 12:52:38 +00:00
Gustavo Sverzut Barbieri
750bdfce3d
inlist: add count.
...
SVN revision: 39465
2009-03-13 11:32:56 +00:00
Carsten Haitzler
739db97356
1. cygwin fixes from booleanlabel@gmail.com
...
2. these are just generic fixes - so also fix 1 doc example too.
SVN revision: 39464
2009-03-13 10:53:07 +00:00
Carsten Haitzler
691aa040b9
strict-aliasing is gcc 3+ - apply to CFLAGS for libeina.
...
SVN revision: 39462
2009-03-13 10:24:45 +00:00
Jorge Luis Zapata Muga
07235befaa
+ Fix the precision when multiplying two fixed point numbers
...
SVN revision: 39307
2009-03-01 12:35:30 +00:00
Gustavo Sverzut Barbieri
e3cce7b79d
New macros, documentation and consistency for iterators and accessors.
...
EINA_ITERATOR_FOREACH() and EINA_ACCESSOR_FOREACH() are new macros to
help us forget about nasty C details (like cast to (void **)).
Document most iterators and accessors.
All iterators now set EINA_ERROR_OUT_OF_MEMORY if it's the case.
SVN revision: 39267
2009-02-27 16:32:22 +00:00
Gustavo Sverzut Barbieri
aff2f5ebcf
Add reverse iterator macros for eina list.
...
SVN revision: 39218
2009-02-25 20:19:32 +00:00
Gustavo Sverzut Barbieri
27f001875b
Fix EINA_INLIST_GET() macro.
...
now EINA_INLIST_GET(bla)->next will work, before it was like
&bla->__in_list->next
which is wrong, since __in_list is not a pointer, rather the memory itself.
SVN revision: 39210
2009-02-25 16:24:00 +00:00
Cedric BAIL
e31b5e961e
* eina/src/lib/eina_list.c: Use less code.
...
* eina/src/lib/eina_error.c: Add a way to abord on any error message.
SVN revision: 39196
2009-02-25 10:46:14 +00:00
Cedric BAIL
b496774e9e
* eina/src/include/eina_list.h: Add a macro for freeing each element of an Eina_List.
...
SVN revision: 39109
2009-02-20 16:44:26 +00:00
Vincent Torri
6b19ce16aa
set correctly the relative path of the extern directory,
...
so that it fits the one used in the tutorial.
SVN revision: 39099
2009-02-19 19:48:03 +00:00
Cedric BAIL
55cfc46ee2
* eina/m4/efl_pthread.m4,
...
* eina/src/modules/mp/chained_pool/Makefile.am,
* eina/src/modules/mp/chained_pool/eina_chained_mempool.c: Now chained mempool are thread safe.
SVN revision: 39058
2009-02-17 14:18:14 +00:00
Cedric BAIL
a98287fc07
* eina/src/lib/eina_module.c: After deleting all members, we should flush the array.
...
SVN revision: 39057
2009-02-17 12:58:09 +00:00
Cedric BAIL
2cad4f8082
* eina/src/lib/eina_array.c: Fix small typo.
...
SVN revision: 38921
2009-02-03 13:20:30 +00:00
Vincent Torri
4fc823bdc9
* fix logic in efl_doxygen.m4
...
* allow aclocal to check for modifications of the m4 macros in m4/
SVN revision: 38892
2009-02-01 20:21:56 +00:00
Vincent Torri
cda565a38e
* more doc in the tutorial of the array data type
...
* minor formatting
SVN revision: 38853
2009-01-29 23:16:23 +00:00
Jorge Luis Zapata Muga
01ea61f11d
+ Remove unlikely macro debug
...
SVN revision: 38840
2009-01-29 13:06:46 +00:00
Jorge Luis Zapata Muga
d508c49684
+ Make the tiler functions static
...
+ Make the iterator actually work: keep track of current node
SVN revision: 38833
2009-01-28 20:01:42 +00:00
Vincent Torri
8cb92a2ca4
force the files that are in the _DATA primary to be
...
distributed in the tarball
SVN revision: 38832
2009-01-28 18:00:20 +00:00
Vincent Torri
c02331ab22
formatting
...
SVN revision: 38815
2009-01-27 16:59:06 +00:00
Vincent Torri
e9908d6e42
* formatting: new lines are good for reading code
...
* remove comma after EINA_MAGIC (compilation with Visual Studio)
SVN revision: 38814
2009-01-27 16:44:45 +00:00
Vincent Torri
53f757287f
add source and header files to Visual Studio project files
...
SVN revision: 38813
2009-01-27 16:38:06 +00:00
rephorm
0f053605b9
don't leak
...
SVN revision: 38806
2009-01-27 05:11:16 +00:00
Jorge Luis Zapata Muga
e5123aac83
+ Fix for 64 bit asm
...
+ Fix for MinGW
SVN revision: 38799
2009-01-26 19:35:12 +00:00
Jorge Luis Zapata Muga
75299a9fa3
+ Add eina_cpu subsystem: just query cpu simd operations for now.
...
+ Add eina_tiler subsystem: initially abstraction and import of gustavo's splitter code.
SVN revision: 38793
2009-01-26 16:27:00 +00:00
Jorge Luis Zapata Muga
40d9cab09a
+ Fix some english typos
...
+ Fix some macros that need an expression and there are no attributes support, just pass the expression as is
SVN revision: 38792
2009-01-26 16:23:07 +00:00
Cedric BAIL
1caa0562ad
Add new set of usefull fonctions for eina list.
...
SVN revision: 38791
2009-01-26 14:46:02 +00:00
Vincent Torri
8bee601e8d
fix warnings with vc++
...
SVN revision: 38744
2009-01-23 18:24:35 +00:00
Vincent Torri
092927d13e
add eina_main.h in vc project
...
SVN revision: 38742
2009-01-23 16:44:25 +00:00
Vincent Torri
29befb161d
put macro after declarations, otherwise vc++ is not happy
...
SVN revision: 38741
2009-01-23 16:43:14 +00:00
Vincent Torri
c166854ae1
* minor formatting
...
* add some doc in eina_array
* in eina_main.c, include only the necessary headers
* fix some warnings (size_t <-> int)
SVN revision: 38740
2009-01-23 16:11:45 +00:00
Vincent Torri
da4cbd5c95
put eina_init() and eina_shutdown() in their own header file
...
SVN revision: 38738
2009-01-23 14:46:56 +00:00
Cedric BAIL
f0096a167c
* eina/src/include/eina_private.h: better use do {} while(0);
...
* eina/src/lib/eina_array.c: Use gcc attribute to shutdown llvm warning.
SVN revision: 38666
2009-01-20 16:47:19 +00:00
Vincent Torri
7554db7669
too much alloca declarations :-)
...
SVN revision: 38665
2009-01-20 16:14:36 +00:00
Cedric BAIL
0dda30daf6
* eina/src/include/eina_array.h,
...
* eina/src/include/eina_f16p16.h,
* eina/src/include/eina_accessor.h,
* eina/src/include/eina_list.h,
* eina/src/include/eina_iterator.h,
* eina/src/lib/eina_rectangle.c,
* eina/src/lib/eina_list.c,
* eina/src/lib/eina_array.c,
* eina/src/lib/eina_hash.c,
* eina/src/lib/eina_module.c,
* eina/src/lib/eina_stringshare.c,
* eina/src/lib/eina_benchmark.c: Fix for windows compilation.
SVN revision: 38663
2009-01-20 15:56:48 +00:00
Cedric BAIL
8a380803a7
* eina/src/include/eina_private.h,
...
* eina/src/lib/eina_array.c: Remove potential error detected by llvm in eina_array.
SVN revision: 38662
2009-01-20 15:44:52 +00:00
Cedric BAIL
57aadc71fd
Remove warning.
...
SVN revision: 38661
2009-01-20 15:42:34 +00:00
Cedric BAIL
3c2f745ab9
Fix wrong order and useless double include.
...
SVN revision: 38660
2009-01-20 15:40:36 +00:00
Vincent Torri
0d166092ac
* fix warning (missing alloca declaration)
...
* formatting
SVN revision: 38657
2009-01-20 08:29:41 +00:00
tilman
4c70375594
Fixed two trivial const correctness issues.
...
SVN revision: 38621
2009-01-17 17:13:03 +00:00
Vincent Torri
ca0cbdbec7
update ac_attribute.m4
...
SVN revision: 38579
2009-01-14 08:36:16 +00:00
Vincent Torri
cc7b4554cb
The problem of the detection of __attribute__ on mac os x comes
...
from the fact that we put a definition of a function in the
body of main(). Moving it outside fixes it. In addition, the
extra flag i added in configure.ac is useless.
SVN revision: 38565
2009-01-13 06:19:47 +00:00
Vincent Torri
f84454ed08
mac os x port of gcc has problems with __attribute__ and thinks that
...
there are nested functions. -fnested-functions must be passed to the
compiler to allow the compilation on that platform.
SVN revision: 38544
2009-01-11 09:25:47 +00:00
Daniel Kolesa
b61dff0b58
Added debian/rules files with a new permissions set(755).
...
SVN revision: 38519
2009-01-09 16:33:51 +00:00
Daniel Kolesa
971b1682a9
prepare debian rules files for new chmod permissions.
...
SVN revision: 38518
2009-01-09 16:31:51 +00:00
Daniel Kolesa
2bf1434120
Added new set of debian subdirs.
...
BROKEN/etox
e
ecore
e_dbus
edje
edje_editor
edje_viewer
eet
efreet
eina
elicit
elitaire
embryo
E-MODULES-EXTRA
emotion
emphasis
empower
emprint
enhance
enity
entrance
ephoto
epsilon
esmart
estickies
etk
etk_extra
evas
evolve
ewl
exhibit
exml
expedite
imlib2
imlib2_loaders
MISC/engage
OLD/eclair
OLD/engrave
OLD/enotes
OLD/entrance_edit_gui
OLD/e_utils
OLD/evoak
OLD/examine
OLD/iconbar
PROTO/etk_server
PROTO/exchange
PROTO/extrackt
rage
SVN revision: 38399
2009-01-01 11:35:17 +00:00
Daniel Kolesa
bf77c1ced2
Removed debian subfolders - prepared for a new set of debian subdirs.
...
SVN revision: 38398
2009-01-01 11:25:05 +00:00
Carsten Haitzler
430fa42aa4
naruto takahashi's fix for gcc3 patch
...
SVN revision: 38397
2009-01-01 03:09:48 +00:00
handyande
c2bab4e388
Make eina compile on OSX
...
SVN revision: 38382
2008-12-31 11:51:37 +00:00
Iván Briano
025c3d8422
Let's see if the number of people asking what Eina is remains the same.
...
SVN revision: 38354
2008-12-30 15:38:11 +00:00
Cedric BAIL
f2037c5c6f
Don't generate warning in some little case.
...
SVN revision: 38348
2008-12-29 12:41:46 +00:00
Cedric BAIL
f722173009
Don't display useless warning.
...
SVN revision: 38346
2008-12-29 11:49:35 +00:00
Cedric BAIL
73c686a5ea
Fix a little mistake.
...
SVN revision: 38339
2008-12-29 08:53:19 +00:00
Cedric BAIL
e537976f58
Use correct type.
...
SVN revision: 38338
2008-12-29 08:53:01 +00:00
Gustavo Sverzut Barbieri
b6e27a739f
oops, it's EINA_SAFETY_CHECKS, not just SAFETY_CHECKS.
...
SVN revision: 38328
2008-12-26 19:14:57 +00:00
Gustavo Sverzut Barbieri
ab95d9183d
eina safety checks.
...
safety checks will report null pointers and other error conditions on
public api's and can be disabled by compile time check.
note that in order to have these checks working we need to make
EINA_ARG_NONNULL() void, otherwise GCC can remove these checks since
they're known to be false.
This commit also make two minor changes:
* list and hash accessors and iterators are created even for empty
entities. This is correct in my point of view since NULL should
indicate error. Having these in were an optimziation, but not
worth it, these are not the most common case and hitting this path
is not of much cost.
* unmarked some parameters as nonnull, mainly on list and inlist.
SVN revision: 38327
2008-12-26 18:31:14 +00:00
Gustavo Sverzut Barbieri
b0ee5696a6
eina gets lots of gcc attributes to its api.
...
this should help with optimizations and code correctness, please see
"info gcc" for detailed explanation on these.
if you experience some functions not working as expected, please
double check if they're not marked with EINA_PURE or EINA_CONST, maybe
I misused them. Remove the macro and try again.
brief explanation:
* EINA_WARN_UNUSED_RESULT: if you forgot to use the return of some
function, it will emit a warning (and -Werror will make it an
error). This way it will be harder to miss the attribution
"l = eina_list_append(l, v)".
* EINA_ARG_NONNULL(index, index...): if you give it an explicit NULL
argument, or some tool (ie: clang) finds it could get a NULL but
this is not accepted by API, then a warning will be emitted. This
will help those that still use eina_hash_add() as if it is
evas_hash_add().
* EINA_MALLOC: any non-NULL pointer it returns cannot alias any other
pointer valid when function returns.
* EINA_PURE: function have no effects other than the return and this
return just depend on parameters and/or globals. You might call
this function in a loop a thousand times and it will return the
same value, thus you may move this function outside the loop and
remove it.
* EINA_CONST: stricter version of EINA_PURE, it will not check for
global parameters, that is, you cannot consider pointer
arguments. Use it for math things like "int sqrt(int)".
* EINA_PRINTF(fmt, arg): will check format parameter specified in
position "fmt" and passed arguments starting at position "arg", it
will check for things like giving integers where short or strings
were expected.
* EINA_SCANF(fmt, arg): similar to eina_printf().
* EINA_FORMAT(fmt): for use with things like dgettext(), it will get
a printf-like format string and modifies it.
Please review and test it with your software, make sure you make clean
before you install the new version so it has any effect.
If you find some functions are missing EINA_WARN_UNUSED_RESULT and
EINA_ARG_NONNULL or others, please add them.
SVN revision: 38323
2008-12-26 13:17:51 +00:00
Gustavo Sverzut Barbieri
de8b6a7bbd
fix possible errors with pointer/offset calculation.
...
it works on gcc, but maybe it would break in other compilers, so make
it safe.
SVN revision: 38302
2008-12-23 20:05:44 +00:00
Gustavo Sverzut Barbieri
7eb0826e29
remove dead stores and reduce some variable scope.
...
from clang report.
SVN revision: 38294
2008-12-23 19:17:55 +00:00
Cedric BAIL
fb238897e5
Use float instead of double.
...
SVN revision: 38292
2008-12-23 17:23:35 +00:00
Cedric BAIL
e006567cb0
Make it compile on Solaris.
...
SVN revision: 38290
2008-12-23 13:33:11 +00:00
Cedric BAIL
2c9ac0bd82
Remove now uneeded header.
...
SVN revision: 38289
2008-12-23 13:23:10 +00:00
Cedric BAIL
889d40abf8
Remove PATH_MAX use.
...
SVN revision: 38288
2008-12-23 13:12:06 +00:00
Cedric BAIL
6a87ca7590
Make code understandable by Visual Studio.
...
SVN revision: 38287
2008-12-23 10:04:46 +00:00
Cedric BAIL
c8714d04cc
Declaration should be done before any code.
...
SVN revision: 38286
2008-12-23 10:02:27 +00:00
dm
77dedbca06
Eina Win32 VS8 project added
...
SVN revision: 38282
2008-12-22 23:20:52 +00:00
Gustavo Sverzut Barbieri
765b770f82
oops, eina_stringshare_strlen() should never account '\0'.
...
SVN revision: 38260
2008-12-21 06:45:09 +00:00
Cedric BAIL
5383cabf2b
Fix EINA_ARRAY_ITER_NEXT off by one bug. With this fix you can no longer push
...
NULL pointer inside an array.
SVN revision: 38232
2008-12-19 17:55:57 +00:00
Cedric BAIL
3d41b74146
Update ac_attribute macro and remove __UNUSED__ declaration from eina.
...
SVN revision: 38179
2008-12-17 13:03:00 +00:00
Cedric BAIL
c80a55ee14
Add small bucket support.
...
SVN revision: 38168
2008-12-16 16:49:29 +00:00
Cedric BAIL
00b5758937
Add include to remove warning.
...
SVN revision: 38167
2008-12-16 16:49:00 +00:00
Cedric BAIL
db11d16b7f
Manipulating NULL iterator should be concidered as a defined behaviour as it
...
give the possibility to write small code like :
it = eina_hash_iterator_tuple_new(hash);
eina_iterator_foreach(it, do_something_cb, NULL);
eina_iterator_free(it);
If hash is empty, but valid it will return a NULL iterator for this
example.
SVN revision: 38104
2008-12-11 13:54:59 +00:00
Cedric BAIL
b8d721ac05
If we set the data free callback of a hash, we expect it to be called when
...
calling all eina_hash_del functions.
SVN revision: 38102
2008-12-11 13:47:58 +00:00
Cedric BAIL
9b9f752379
Only allocate hash bucket when needed.
...
Make eina_hash_del_by_key really different from eina_hash_del.
SVN revision: 38064
2008-12-09 17:39:48 +00:00
Cedric BAIL
00e8fba9ba
All eina_hash_find* functions should not report problem when hash or key is NULL.
...
SVN revision: 38059
2008-12-09 14:59:30 +00:00
Cedric BAIL
8ee267ec0d
Remove uneeded included.
...
SVN revision: 38058
2008-12-09 14:30:54 +00:00
Cedric BAIL
b0e1863871
eina_hash_find should not complain when hash or key is NULL.
...
SVN revision: 38057
2008-12-09 14:24:08 +00:00
Cedric BAIL
68cfd7839f
Add a visual feedback to counte test.
...
SVN revision: 38056
2008-12-09 13:58:04 +00:00
Cedric BAIL
24c1995b68
Change eina_counter_dump to return a string so it could work easily on windows.
...
SVN revision: 38055
2008-12-09 13:55:10 +00:00
Cedric BAIL
af30207725
eina_hash_del must honor the data parameter when the key is passed. Propagate
...
it correctly.
SVN revision: 38054
2008-12-09 13:52:09 +00:00
Cedric BAIL
273b7422d6
It's cleaner to first include private header as they could define macro
...
differently than public interface.
SVN revision: 38050
2008-12-09 13:06:17 +00:00
Cedric BAIL
d19801f7c2
Prevent warning from Eina Magic when hash population is 0.
...
SVN revision: 38049
2008-12-09 13:05:33 +00:00
Cedric BAIL
55d9c97446
__UNUSED__ macro is not exported by eina.
...
SVN revision: 38045
2008-12-09 11:01:12 +00:00
Cedric BAIL
5358b1f84f
Add integer and pointer hash table helper.
...
SVN revision: 38026
2008-12-08 17:31:55 +00:00
Cedric BAIL
c7b0e0a6b3
Fix include related to previous Eina Magic patch.
...
SVN revision: 38017
2008-12-08 10:51:51 +00:00
Cedric BAIL
199f900908
Application and library using Eina Magic API should be able to decide if they
...
want to check magic or not. This should not be forced by Eina config.
SVN revision: 38014
2008-12-08 10:18:05 +00:00
Gustavo Sverzut Barbieri
8ea28f64b7
hash: better handling of NULL, add magic checking.
...
* evas: if we automatically destroy hash, check for NULL before
handling it to eina api, which expect elements to be created with
eina_hash_new() and thus will fail on NULL.
* eina: add magic checking for eina_hash and eina_hash_iterator, this will
help spot when NULL is used.
* eina_hash_foreach: do not try to create the iterator if hash is NULL.
SVN revision: 37982
2008-12-07 13:28:29 +00:00
Gustavo Sverzut Barbieri
b21c687f61
refactor eina_hash_del*, expose simpler functions and avoid GCC hack.
...
By using simpler functions for hash element deletion we can avoid the
hack to shut up GCC warking about hash_num not being used. As these
simple functions are more often needed than the catch-all, expose them
as well.
SVN revision: 37962
2008-12-06 06:58:56 +00:00
Gustavo Sverzut Barbieri
09924b54e5
Let valgrind help with EINA_MAGIC.
...
Keep EINA_MAGIC at the end of the structure (WHEN POSSIBLE! Watch out
flexible arrays like char str[] at the end!)
this way if parts use EINA_MAGIC and others do not, it will possible overflow and valgrind can help us.
WARNING: make uninstall before update! Then make clean and make install, check if everything is working with "make check".
SVN revision: 37961
2008-12-06 06:53:14 +00:00
Gustavo Sverzut Barbieri
5939d76d9c
Fix couple of issues with MAGIC handling.
...
eina_magic.h MUST include eina_config.h, otherwise it will not
consider EINA_MAGIC stuff. Worse than that, some files were including
that directly and were considering EINA_MAGIC attribute even if the
file that alloc'ed the memory were not!
Also add missing EINA_MAGIC_SET() to iterators and accessors.
SVN revision: 37960
2008-12-06 06:17:11 +00:00
Gustavo Sverzut Barbieri
08832b519b
grow array only when required, use step properly.
...
We need to grow when we reach total amount, not when current + step > total.
SVN revision: 37959
2008-12-06 06:13:55 +00:00
Gustavo Sverzut Barbieri
091741f861
Force dummy_symbol to be visible.
...
"make check" was failing with -fvisibility=hidden.
SVN revision: 37958
2008-12-06 06:12:30 +00:00
Gustavo Sverzut Barbieri
6203f4b6be
do not segv on NULL inlist.
...
this was exposed by "make check", counter had no tests and it was failing.
SVN revision: 37957
2008-12-06 06:11:39 +00:00
Gustavo Sverzut Barbieri
a00eaac6a6
Make it possible to create iterators outside Eina.
...
Many places in EFL we just create walk something, create a list with
walked data, return, then the user walks it again and then deletes
(which will walk again). For such cases it's way better to define
iterators or accessors.
I'm not moving any EFL code to it now, but if people are interested,
things like evas_render_method_list(), evas_font_available_list(),
evas_objects_at_xy_get(), evas_objects_in_rectangle_get(),
evas_object_smart_members_get() are good candidates. If the subject is
already using Eina list, then you can just use
eina_list_iterator_new() and return it, otherwise you can define your
own iterator, which is very easy.
SVN revision: 37956
2008-12-06 03:41:03 +00:00
Gustavo Sverzut Barbieri
b023145eed
shut up gcc warning, with comment.
...
SVN revision: 37953
2008-12-06 03:02:30 +00:00
Carsten Haitzler
84f8c174bf
fix list accounting on sort! bad - how did this hide for so long?
...
SVN revision: 37951
2008-12-06 02:51:04 +00:00
Gustavo Sverzut Barbieri
f8868ffa96
Fix namespace: Eina_Foreach -> Eina_Hash_Foreach.
...
SVN revision: 37950
2008-12-06 02:21:17 +00:00
Gustavo Sverzut Barbieri
03fca99e56
Add safe Eina list walk function.
...
SVN revision: 37949
2008-12-06 02:13:01 +00:00
Chidambar Zinnoury
5c2c6049f1
Use includedir instead of prefix/include to install Eina headers.
...
SVN revision: 37925
2008-12-04 16:25:40 +00:00
Chidambar Zinnoury
ef7cd1e966
Typo: --enable enables an option.
...
SVN revision: 37913
2008-12-03 17:27:51 +00:00
Cedric BAIL
9a5b397a3e
Fix a little memory leak when iterating.
...
SVN revision: 37718
2008-11-20 13:26:18 +00:00
Vincent Torri
1b00e273ed
eina needs dl functions (Windows)
...
SVN revision: 37583
2008-11-11 07:22:47 +00:00
Cedric BAIL
5257321d9a
Fix some constness.
...
SVN revision: 37576
2008-11-10 16:23:56 +00:00
Cedric BAIL
aa82395cc1
Fix order of free during hash free.
...
SVN revision: 37572
2008-11-10 14:32:14 +00:00
Vincent Torri
a00a2a3636
put static functions where they belong
...
SVN revision: 37552
2008-11-08 16:47:52 +00:00
Sebastian Dransfeld
4173b41de5
Add missing return value.
...
SVN revision: 37528
2008-11-07 06:50:45 +00:00
Cedric BAIL
e8ed3963c8
Add eina_array_data_set.
...
SVN revision: 37475
2008-11-05 17:16:07 +00:00
Cedric BAIL
e63dde947d
Fix documentation.
...
SVN revision: 37474
2008-11-05 16:20:37 +00:00
Gustavo Sverzut Barbieri
9e80a086f6
Add and use eina_stringshare_ref().
...
This is a faster "add", if we know we're using a shared string we know
the node without any need to search it, just increment reference and
exit.
SVN revision: 37458
2008-11-04 16:25:12 +00:00
Vincent Torri
c8e2f1f51f
small doc fix
...
SVN revision: 37407
2008-11-02 09:41:14 +00:00
Cedric BAIL
437c220266
Add dladdr and env code for eina_module from Vincent Torri.
...
SVN revision: 37374
2008-11-01 15:39:53 +00:00
Vincent Torri
c2d7540e84
ffs does not exist on windows CE, so use Evil
...
SVN revision: 37367
2008-11-01 07:33:02 +00:00
Vincent Torri
602c8edb12
formatting
...
SVN revision: 37358
2008-10-31 16:59:45 +00:00
Cedric BAIL
8748f83f01
Make eina rectangle handle NULL case.
...
SVN revision: 37328
2008-10-30 10:54:58 +00:00
Gustavo Sverzut Barbieri
c1d2134caf
Pack a hole when magic is in use.
...
SVN revision: 37324
2008-10-29 23:50:24 +00:00
Carsten Haitzler
9f157c260c
error macro.
...
SVN revision: 37323
2008-10-29 23:41:55 +00:00
Gustavo Sverzut Barbieri
a39edb7baa
Do not pad node on 64bits.
...
Instead of padding node we should always refer to offset of str[]
inside node, that way we save some bytes and work properly.
SVN revision: 37322
2008-10-29 23:33:24 +00:00
Carsten Haitzler
b4f33c6358
add error catching and output if mempool alloc/init fails.
...
SVN revision: 37321
2008-10-29 23:12:56 +00:00
Gustavo Sverzut Barbieri
5e30ab4563
Remove unused attribute warnings.
...
SVN revision: 37307
2008-10-29 14:51:18 +00:00
Gustavo Sverzut Barbieri
f22f587bab
Fix stringshare on 64bits platforms.
...
sizeof(Eina_Stringshare_Node) is now 24 bytes on 64bits platforms, but
str[] was pointing to before that, to the 20th byte, causing out of
bounds access.
Adding the padding will cause str[] to use the correct position. It
wastes 4 more bytes, like pre-optimizations, but it's just on big
machines.
SVN revision: 37305
2008-10-29 14:18:29 +00:00
Carsten Haitzler
0e4dcecbc4
remove from list properly and don't segv!
...
SVN revision: 37290
2008-10-29 01:38:47 +00:00
Gustavo Sverzut Barbieri
71f9c5aab7
refactor eina_stringshare_del() to make it easier to read.
...
SVN revision: 37282
2008-10-28 18:12:10 +00:00
Gustavo Sverzut Barbieri
1119bfebc1
improve readability: avoid macros inside our code
...
mixing #ifdef'ed blocks inside code is bad, can lead to warnings if
some variables are not used and it's a pain to read.
instead, just define functions and always call them, choose their
implementation based on the ifdef macros. I opted to have 2
declarations, but one can go like other parts and #ifdef around the
function contents as well.
SVN revision: 37281
2008-10-28 17:47:59 +00:00
Gustavo Sverzut Barbieri
e9a398e076
test small strings.
...
SVN revision: 37280
2008-10-28 17:19:02 +00:00
Gustavo Sverzut Barbieri
a5db129f56
Add missing magic check for existing node.
...
SVN revision: 37279
2008-10-28 17:16:42 +00:00
Gustavo Sverzut Barbieri
2569094023
Code refactor and cleanup of eina_stringshare_add().
...
Cases are now handled in separate, doing less useless steps and easier
to understand since 3 cases are now distinct.
SVN revision: 37278
2008-10-28 17:15:07 +00:00
Cedric BAIL
a299da4fb5
This test is now not defined. Remove it.
...
SVN revision: 37277
2008-10-28 16:40:34 +00:00
Gustavo Sverzut Barbieri
72ae858dac
fix _GET macros.
...
SVN revision: 37276
2008-10-28 16:37:32 +00:00
Cedric BAIL
e243e4408a
Make Eina_Rectangle_Pool more usable.
...
SVN revision: 37275
2008-10-28 15:28:46 +00:00
Cedric BAIL
4592044c82
Fix a little typo.
...
SVN revision: 37274
2008-10-28 14:45:16 +00:00
Gustavo Sverzut Barbieri
96adb8e1f0
save a byte per stringshare node.
...
we don't need to use 'begin' flag (that takes a byte) just to see if
we're in the same memory block as the head, just do a pointer math.
SVN revision: 37270
2008-10-28 12:34:58 +00:00
Gustavo Sverzut Barbieri
0b1e2fa0dc
reduce the popuplation_group size.
...
we just have special case for up to 3 letters, everything else is
regular population.
SVN revision: 37269
2008-10-28 12:26:05 +00:00
Gustavo Sverzut Barbieri
3cd98b547a
stringshare_del optimization.
...
trade off safety by speed, we will always assume str was previously
shared, like evas_stringshare_del() did and we can know with zero-cost
the number of references and can avoid strlen() too.
When references drop to zero we still have to do the hash, access the
bucket and then lookup the Red-Black tree, then walk the list of
nodes, but avoiding so would use more memory, unacceptable at this
point.
SVN revision: 37268
2008-10-28 12:23:12 +00:00
Gustavo Sverzut Barbieri
8325ae6ba3
Save 4 bytes per big string shared.
...
SVN revision: 37258
2008-10-28 00:42:35 +00:00
Gustavo Sverzut Barbieri
24ee564949
Cheap way to get strlen of a shared string.
...
it's not safe, but it's faster and can help for large strings, maximum
cost is 4 comparisons plus one pointer access.
SVN revision: 37257
2008-10-28 00:31:09 +00:00
Gustavo Sverzut Barbieri
16aed2623d
define function as void as in prototype.
...
SVN revision: 37256
2008-10-28 00:18:31 +00:00
Gustavo Sverzut Barbieri
d4ac927395
dump show percentages.
...
not that useful, but I like it.
SVN revision: 37253
2008-10-27 20:35:28 +00:00
Cedric BAIL
72e45419ec
Add Eina_Rectangle_Pool support. Typically help for font handling in OpenGL or
...
any case where you need to split a rectangle in many differents small rectangle.
SVN revision: 37252
2008-10-27 20:24:12 +00:00
Gustavo Sverzut Barbieri
db296d3d3c
better optimize small stringshare comparison
...
SVN revision: 37251
2008-10-27 20:16:52 +00:00
Gustavo Sverzut Barbieri
c311dd99a2
stringshare: special case for small (2-3 letters).
...
This should reduce overhead and give a bit speedup as well, let's test
with e17 real data and see how it goes.
SVN revision: 37250
2008-10-27 19:26:14 +00:00
Sebastian Dransfeld
0b115add8e
Since CLOCK_PROCESS_CPUTIME_ID is a POSIX standard, we use it if it
...
exists regardles of system. Seems BSD actually is the weird case here.
Still use CLOCK_REALTIME as fallback.
SVN revision: 37249
2008-10-27 15:16:06 +00:00
Sebastian Dransfeld
23fdacaa1e
Better fallback on clock as suggested by Naruto TAKAHASHI
...
SVN revision: 37248
2008-10-27 15:08:46 +00:00
Sebastian Dransfeld
3488ca351f
Fix CLOCK as suggested by Ravenlock.
...
SVN revision: 37247
2008-10-27 14:19:55 +00:00
Cedric BAIL
45273db267
Correctly put condition around the code.
...
SVN revision: 37244
2008-10-27 14:05:09 +00:00
Cedric BAIL
d46f7e583e
* Optimize case for string length == 0 and 1.
...
* Add more debug information when using --enable-stringshare-usage.
SVN revision: 37239
2008-10-27 13:23:52 +00:00
Sebastian Dransfeld
b6ddfb54cf
Mark unused parameter with __UNUSED__
...
SVN revision: 37214
2008-10-27 09:49:13 +00:00
Carsten Haitzler
089b8ac181
add a stringshare dumper so we can examine what's in there and improve usage.
...
SVN revision: 37186
2008-10-27 00:36:22 +00:00
Michael Jennings
a9ad1b5aeb
Sat Oct 25 11:41:49 2008 Michael Jennings (mej)
...
Add spec file for eina.
----------------------------------------------------------------------
SVN revision: 37104
2008-10-25 18:46:18 +00:00