raster [Thu, 9 Apr 2009 05:55:51 +0000 (05:55 +0000)]
new -> news. people with g++ using eina in their c++ stuff will be most
un-amused by the use of a variable called "new".
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@39905
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Wed, 8 Apr 2009 18:25:02 +0000 (18:25 +0000)]
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;
}
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@39903
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Mon, 6 Apr 2009 12:41:50 +0000 (12:41 +0000)]
export vargs version of eina_error_print().
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@39879
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
caro [Wed, 25 Mar 2009 12:04:21 +0000 (12:04 +0000)]
Fix llvm report in eain_tiler.
The remaining llvm reports, in eina_rbtree.c, are not correct, I think.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@39710
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
caro [Wed, 25 Mar 2009 10:32:33 +0000 (10:32 +0000)]
fix llvm report in eina_stringshare
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@39707
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
caro [Wed, 25 Mar 2009 09:24:56 +0000 (09:24 +0000)]
fix llvm reports in eina_list
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@39706
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
quaker [Tue, 24 Mar 2009 19:56:43 +0000 (19:56 +0000)]
i found it is useless and cdbs is setting up prefix automatically.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@39695
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
quaker [Tue, 24 Mar 2009 19:51:00 +0000 (19:51 +0000)]
forgot to add --prefix=/usr
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@39694
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
quaker [Tue, 24 Mar 2009 19:44:57 +0000 (19:44 +0000)]
Updated debian stuff everywhere.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@39693
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
caro [Tue, 24 Mar 2009 07:10:46 +0000 (07:10 +0000)]
use variadic macros, as suggested by Gustavo
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@39663
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
caro [Mon, 23 Mar 2009 20:36:10 +0000 (20:36 +0000)]
fix some llvm report
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@39657
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
caro [Sun, 22 Mar 2009 13:40:28 +0000 (13:40 +0000)]
Fix compilation on OpenBSD (bug #250). Patch by eumel.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@39627
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
caro [Sun, 22 Mar 2009 12:22:39 +0000 (12:22 +0000)]
change the variable near to lnear, as it seems
that it's a keyword on Windows...
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@39621
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Fri, 20 Mar 2009 01:00:35 +0000 (01:00 +0000)]
deprecated attribute
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@39597
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Fri, 20 Mar 2009 01:00:04 +0000 (01:00 +0000)]
constness++
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@39596
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
cedric [Wed, 18 Mar 2009 15:00:52 +0000 (15:00 +0000)]
* eina_list: Add a eina_list_search_sorted_near_list. Usefull if you want to build
a sorted list.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@39550
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
cedric [Wed, 18 Mar 2009 13:29:36 +0000 (13:29 +0000)]
* eina_list: Add eina_list_search_sorted_list and eina_list_search_unsorted_list.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@39546
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Tue, 17 Mar 2009 13:05:02 +0000 (13:05 +0000)]
add missing prototype.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@39516
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Tue, 17 Mar 2009 12:52:38 +0000 (12:52 +0000)]
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.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@39515
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Fri, 13 Mar 2009 11:32:56 +0000 (11:32 +0000)]
inlist: add count.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@39465
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
raster [Fri, 13 Mar 2009 10:53:07 +0000 (10:53 +0000)]
1. cygwin fixes from booleanlabel@gmail.com
2. these are just generic fixes - so also fix 1 doc example too.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@39464
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
raster [Fri, 13 Mar 2009 10:24:45 +0000 (10:24 +0000)]
strict-aliasing is gcc 3+ - apply to CFLAGS for libeina.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@39462
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
turran [Sun, 1 Mar 2009 12:35:30 +0000 (12:35 +0000)]
+ Fix the precision when multiplying two fixed point numbers
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@39307
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Fri, 27 Feb 2009 16:32:22 +0000 (16:32 +0000)]
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.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@39267
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Wed, 25 Feb 2009 20:19:32 +0000 (20:19 +0000)]
Add reverse iterator macros for eina list.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@39218
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Wed, 25 Feb 2009 16:24:00 +0000 (16:24 +0000)]
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.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@39210
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
cedric [Wed, 25 Feb 2009 10:46:14 +0000 (10:46 +0000)]
* eina/src/lib/eina_list.c: Use less code.
* eina/src/lib/eina_error.c: Add a way to abord on any error message.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@39196
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
cedric [Fri, 20 Feb 2009 16:44:26 +0000 (16:44 +0000)]
* eina/src/include/eina_list.h: Add a macro for freeing each element of an Eina_List.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@39109
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
caro [Thu, 19 Feb 2009 19:48:03 +0000 (19:48 +0000)]
set correctly the relative path of the extern directory,
so that it fits the one used in the tutorial.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@39099
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
cedric [Tue, 17 Feb 2009 14:18:14 +0000 (14:18 +0000)]
* 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.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@39058
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
cedric [Tue, 17 Feb 2009 12:58:09 +0000 (12:58 +0000)]
* eina/src/lib/eina_module.c: After deleting all members, we should flush the array.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@39057
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
cedric [Tue, 3 Feb 2009 13:20:30 +0000 (13:20 +0000)]
* eina/src/lib/eina_array.c: Fix small typo.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@38921
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
caro [Sun, 1 Feb 2009 20:21:56 +0000 (20:21 +0000)]
* fix logic in efl_doxygen.m4
* allow aclocal to check for modifications of the m4 macros in m4/
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@38892
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
caro [Thu, 29 Jan 2009 23:16:23 +0000 (23:16 +0000)]
* more doc in the tutorial of the array data type
* minor formatting
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@38853
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
turran [Thu, 29 Jan 2009 13:06:46 +0000 (13:06 +0000)]
+ Remove unlikely macro debug
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@38840
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
turran [Wed, 28 Jan 2009 20:01:42 +0000 (20:01 +0000)]
+ Make the tiler functions static
+ Make the iterator actually work: keep track of current node
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@38833
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
caro [Wed, 28 Jan 2009 18:00:20 +0000 (18:00 +0000)]
force the files that are in the _DATA primary to be
distributed in the tarball
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@38832
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
caro [Tue, 27 Jan 2009 16:59:06 +0000 (16:59 +0000)]
formatting
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@38815
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
caro [Tue, 27 Jan 2009 16:44:45 +0000 (16:44 +0000)]
* formatting: new lines are good for reading code
* remove comma after EINA_MAGIC (compilation with Visual Studio)
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@38814
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
caro [Tue, 27 Jan 2009 16:38:06 +0000 (16:38 +0000)]
add source and header files to Visual Studio project files
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@38813
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
rephorm [Tue, 27 Jan 2009 05:11:16 +0000 (05:11 +0000)]
don't leak
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@38806
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
turran [Mon, 26 Jan 2009 19:35:12 +0000 (19:35 +0000)]
+ Fix for 64 bit asm
+ Fix for MinGW
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@38799
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
turran [Mon, 26 Jan 2009 16:27:00 +0000 (16:27 +0000)]
+ Add eina_cpu subsystem: just query cpu simd operations for now.
+ Add eina_tiler subsystem: initially abstraction and import of gustavo's splitter code.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@38793
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
turran [Mon, 26 Jan 2009 16:23:07 +0000 (16:23 +0000)]
+ Fix some english typos
+ Fix some macros that need an expression and there are no attributes support, just pass the expression as is
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@38792
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
cedric [Mon, 26 Jan 2009 14:46:02 +0000 (14:46 +0000)]
Add new set of usefull fonctions for eina list.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@38791
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
caro [Fri, 23 Jan 2009 18:24:35 +0000 (18:24 +0000)]
fix warnings with vc++
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@38744
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
caro [Fri, 23 Jan 2009 16:44:25 +0000 (16:44 +0000)]
add eina_main.h in vc project
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@38742
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
caro [Fri, 23 Jan 2009 16:43:14 +0000 (16:43 +0000)]
put macro after declarations, otherwise vc++ is not happy
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@38741
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
caro [Fri, 23 Jan 2009 16:11:45 +0000 (16:11 +0000)]
* minor formatting
* add some doc in eina_array
* in eina_main.c, include only the necessary headers
* fix some warnings (size_t <-> int)
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@38740
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
caro [Fri, 23 Jan 2009 14:46:56 +0000 (14:46 +0000)]
put eina_init() and eina_shutdown() in their own header file
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@38738
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
cedric [Tue, 20 Jan 2009 16:47:19 +0000 (16:47 +0000)]
* eina/src/include/eina_private.h: better use do {} while(0);
* eina/src/lib/eina_array.c: Use gcc attribute to shutdown llvm warning.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@38666
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
caro [Tue, 20 Jan 2009 16:14:36 +0000 (16:14 +0000)]
too much alloca declarations :-)
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@38665
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
cedric [Tue, 20 Jan 2009 15:56:48 +0000 (15:56 +0000)]
* 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.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@38663
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
cedric [Tue, 20 Jan 2009 15:44:52 +0000 (15:44 +0000)]
* eina/src/include/eina_private.h,
* eina/src/lib/eina_array.c: Remove potential error detected by llvm in eina_array.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@38662
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
cedric [Tue, 20 Jan 2009 15:42:34 +0000 (15:42 +0000)]
Remove warning.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@38661
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
cedric [Tue, 20 Jan 2009 15:40:36 +0000 (15:40 +0000)]
Fix wrong order and useless double include.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@38660
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
caro [Tue, 20 Jan 2009 08:29:41 +0000 (08:29 +0000)]
* fix warning (missing alloca declaration)
* formatting
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@38657
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
tilman [Sat, 17 Jan 2009 17:13:03 +0000 (17:13 +0000)]
Fixed two trivial const correctness issues.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@38621
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
caro [Wed, 14 Jan 2009 08:36:16 +0000 (08:36 +0000)]
update ac_attribute.m4
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@38579
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
caro [Tue, 13 Jan 2009 06:19:47 +0000 (06:19 +0000)]
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.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@38565
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
caro [Sun, 11 Jan 2009 09:25:47 +0000 (09:25 +0000)]
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.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@38544
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
quaker [Fri, 9 Jan 2009 16:33:51 +0000 (16:33 +0000)]
Added debian/rules files with a new permissions set(755).
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@38519
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
quaker [Fri, 9 Jan 2009 16:31:51 +0000 (16:31 +0000)]
prepare debian rules files for new chmod permissions.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@38518
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
quaker [Thu, 1 Jan 2009 11:35:17 +0000 (11:35 +0000)]
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
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@38399
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
quaker [Thu, 1 Jan 2009 11:25:05 +0000 (11:25 +0000)]
Removed debian subfolders - prepared for a new set of debian subdirs.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@38398
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
raster [Thu, 1 Jan 2009 03:09:48 +0000 (03:09 +0000)]
naruto takahashi's fix for gcc3 patch
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@38397
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
handyande [Wed, 31 Dec 2008 11:51:37 +0000 (11:51 +0000)]
Make eina compile on OSX
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@38382
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
sachiel [Tue, 30 Dec 2008 15:38:11 +0000 (15:38 +0000)]
Let's see if the number of people asking what Eina is remains the same.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@38354
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
cedric [Mon, 29 Dec 2008 12:41:46 +0000 (12:41 +0000)]
Don't generate warning in some little case.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@38348
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
cedric [Mon, 29 Dec 2008 11:49:35 +0000 (11:49 +0000)]
Don't display useless warning.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@38346
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
cedric [Mon, 29 Dec 2008 08:53:19 +0000 (08:53 +0000)]
Fix a little mistake.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@38339
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
cedric [Mon, 29 Dec 2008 08:53:01 +0000 (08:53 +0000)]
Use correct type.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@38338
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Fri, 26 Dec 2008 19:14:57 +0000 (19:14 +0000)]
oops, it's EINA_SAFETY_CHECKS, not just SAFETY_CHECKS.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@38328
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Fri, 26 Dec 2008 18:31:14 +0000 (18:31 +0000)]
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.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@38327
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Fri, 26 Dec 2008 13:17:51 +0000 (13:17 +0000)]
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.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@38323
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Tue, 23 Dec 2008 20:05:44 +0000 (20:05 +0000)]
fix possible errors with pointer/offset calculation.
it works on gcc, but maybe it would break in other compilers, so make
it safe.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@38302
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Tue, 23 Dec 2008 19:17:55 +0000 (19:17 +0000)]
remove dead stores and reduce some variable scope.
from clang report.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@38294
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
cedric [Tue, 23 Dec 2008 17:23:35 +0000 (17:23 +0000)]
Use float instead of double.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@38292
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
cedric [Tue, 23 Dec 2008 13:33:11 +0000 (13:33 +0000)]
Make it compile on Solaris.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@38290
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
cedric [Tue, 23 Dec 2008 13:23:10 +0000 (13:23 +0000)]
Remove now uneeded header.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@38289
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
cedric [Tue, 23 Dec 2008 13:12:06 +0000 (13:12 +0000)]
Remove PATH_MAX use.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@38288
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
cedric [Tue, 23 Dec 2008 10:04:46 +0000 (10:04 +0000)]
Make code understandable by Visual Studio.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@38287
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
cedric [Tue, 23 Dec 2008 10:02:27 +0000 (10:02 +0000)]
Declaration should be done before any code.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@38286
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
dm [Mon, 22 Dec 2008 23:20:52 +0000 (23:20 +0000)]
Eina Win32 VS8 project added
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@38282
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Sun, 21 Dec 2008 06:45:09 +0000 (06:45 +0000)]
oops, eina_stringshare_strlen() should never account '\0'.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@38260
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
cedric [Fri, 19 Dec 2008 17:55:57 +0000 (17:55 +0000)]
Fix EINA_ARRAY_ITER_NEXT off by one bug. With this fix you can no longer push
NULL pointer inside an array.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@38232
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
cedric [Wed, 17 Dec 2008 13:03:00 +0000 (13:03 +0000)]
Update ac_attribute macro and remove __UNUSED__ declaration from eina.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@38179
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
cedric [Tue, 16 Dec 2008 16:49:29 +0000 (16:49 +0000)]
Add small bucket support.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@38168
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
cedric [Tue, 16 Dec 2008 16:49:00 +0000 (16:49 +0000)]
Add include to remove warning.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@38167
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
cedric [Thu, 11 Dec 2008 13:54:59 +0000 (13:54 +0000)]
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.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@38104
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
cedric [Thu, 11 Dec 2008 13:47:58 +0000 (13:47 +0000)]
If we set the data free callback of a hash, we expect it to be called when
calling all eina_hash_del functions.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@38102
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
cedric [Tue, 9 Dec 2008 17:39:48 +0000 (17:39 +0000)]
Only allocate hash bucket when needed.
Make eina_hash_del_by_key really different from eina_hash_del.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@38064
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
cedric [Tue, 9 Dec 2008 14:59:30 +0000 (14:59 +0000)]
All eina_hash_find* functions should not report problem when hash or key is NULL.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@38059
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
cedric [Tue, 9 Dec 2008 14:30:54 +0000 (14:30 +0000)]
Remove uneeded included.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@38058
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
cedric [Tue, 9 Dec 2008 14:24:08 +0000 (14:24 +0000)]
eina_hash_find should not complain when hash or key is NULL.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@38057
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
cedric [Tue, 9 Dec 2008 13:58:04 +0000 (13:58 +0000)]
Add a visual feedback to counte test.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@38056
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
cedric [Tue, 9 Dec 2008 13:55:10 +0000 (13:55 +0000)]
Change eina_counter_dump to return a string so it could work easily on windows.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@38055
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
cedric [Tue, 9 Dec 2008 13:52:09 +0000 (13:52 +0000)]
eina_hash_del must honor the data parameter when the key is passed. Propagate
it correctly.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@38054
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
cedric [Tue, 9 Dec 2008 13:06:17 +0000 (13:06 +0000)]
It's cleaner to first include private header as they could define macro
differently than public interface.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@38050
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
cedric [Tue, 9 Dec 2008 13:05:33 +0000 (13:05 +0000)]
Prevent warning from Eina Magic when hash population is 0.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@38049
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33