barbieri [Mon, 7 Sep 2009 02:33:54 +0000 (02:33 +0000)]
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.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@42310
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Sun, 6 Sep 2009 22:56:34 +0000 (22:56 +0000)]
eina_inlist.h is not required anymore.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@42305
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Sun, 6 Sep 2009 22:54:49 +0000 (22:54 +0000)]
eina_error: improvements to make it faster.
Use a simple array instead of inlist, error get is now much faster
using direct index access.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@42304
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Sun, 6 Sep 2009 22:34:38 +0000 (22:34 +0000)]
allocate more buckets on init to save couple of reallocs during startup.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@42303
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Sun, 6 Sep 2009 22:25:36 +0000 (22:25 +0000)]
fix macro positioning of '\'
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@42302
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Sun, 6 Sep 2009 22:21:56 +0000 (22:21 +0000)]
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!
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@42300
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
caro [Sun, 6 Sep 2009 15:25:35 +0000 (15:25 +0000)]
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().
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@42292
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
caro [Sun, 6 Sep 2009 08:39:04 +0000 (08:39 +0000)]
shutdown array module
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@42287
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Fri, 4 Sep 2009 23:45:16 +0000 (23:45 +0000)]
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.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@42272
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Fri, 4 Sep 2009 21:55:03 +0000 (21:55 +0000)]
mark log functions as not_instrument_function.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@42270
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Fri, 4 Sep 2009 21:28:50 +0000 (21:28 +0000)]
eina_log optimization: allow to compile out some debug messages.
Users may opt to set EINA_LOG_LEVEL_MAXIMUM to some integer and macro
will then evaluate to check for that value before actually call
eina_log_print() macro. By using optimizations compilers will
effectivelly compile out the code if it is never reached, thus saving
the check and function call in possible critical paths.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@42269
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
caro [Fri, 4 Sep 2009 16:55:51 +0000 (16:55 +0000)]
fix coverage support configuration
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@42250
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
caro [Fri, 4 Sep 2009 16:54:38 +0000 (16:54 +0000)]
include eina_log.h in eina_error.h as some log macro are used in it
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@42249
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
caro [Fri, 4 Sep 2009 16:25:18 +0000 (16:25 +0000)]
eina_log uses pthreads now (if enabled), so link libeina against pthread
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@42248
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Fri, 4 Sep 2009 14:18:05 +0000 (14:18 +0000)]
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
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@42246
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Fri, 4 Sep 2009 13:43:44 +0000 (13:43 +0000)]
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 ;-)
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@42243
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Fri, 4 Sep 2009 03:52:05 +0000 (03:52 +0000)]
oops! thanks Vincent.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@42230
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Fri, 4 Sep 2009 02:35:24 +0000 (02:35 +0000)]
loggify array.
this is the last eina module to be converted to eina_log! :-)
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@42228
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Fri, 4 Sep 2009 02:34:48 +0000 (02:34 +0000)]
eina_module must initialize eina_array as it is used.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@42227
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Fri, 4 Sep 2009 02:34:10 +0000 (02:34 +0000)]
make it easier to spot wrong users of eina_log_print()
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@42226
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Fri, 4 Sep 2009 02:11:44 +0000 (02:11 +0000)]
loggify rectangle.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@42225
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Fri, 4 Sep 2009 02:03:46 +0000 (02:03 +0000)]
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).
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@42224
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Fri, 4 Sep 2009 01:54:37 +0000 (01:54 +0000)]
loggify stringshare.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@42223
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Fri, 4 Sep 2009 01:48:36 +0000 (01:48 +0000)]
loggify main.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@42222
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Fri, 4 Sep 2009 01:43:50 +0000 (01:43 +0000)]
loggify list.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@42221
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Fri, 4 Sep 2009 01:37:11 +0000 (01:37 +0000)]
eina_error: deprecated old logging, move to eina_log.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@42220
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Fri, 4 Sep 2009 01:19:19 +0000 (01:19 +0000)]
loggify benchmark.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@42219
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Fri, 4 Sep 2009 01:13:49 +0000 (01:13 +0000)]
loggify mempool.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@42218
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Fri, 4 Sep 2009 01:03:27 +0000 (01:03 +0000)]
loggify eina_convert.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@42217
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Fri, 4 Sep 2009 00:57:09 +0000 (00:57 +0000)]
eina_log_vprint() for those that want to wrap it in other functions.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@42216
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Fri, 4 Sep 2009 00:56:16 +0000 (00:56 +0000)]
missing file, sorry.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@42215
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Fri, 4 Sep 2009 00:53:19 +0000 (00:53 +0000)]
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.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@42214
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Thu, 3 Sep 2009 23:36:27 +0000 (23:36 +0000)]
eina_safety_checks now uses eina_log.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@42213
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Thu, 3 Sep 2009 01:39:45 +0000 (01:39 +0000)]
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.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@42200
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Thu, 3 Sep 2009 01:31:26 +0000 (01:31 +0000)]
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.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@42199
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Thu, 3 Sep 2009 00:17:27 +0000 (00:17 +0000)]
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.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@42198
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Thu, 3 Sep 2009 00:07:25 +0000 (00:07 +0000)]
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.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@42197
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Wed, 2 Sep 2009 23:28:00 +0000 (23:28 +0000)]
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.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@42196
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Wed, 2 Sep 2009 23:11:22 +0000 (23:11 +0000)]
less malloc and memory fragmentation.
not that important, but an easy improvement does not hurt.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@42195
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Wed, 2 Sep 2009 23:06:55 +0000 (23:06 +0000)]
loggify eina_module, adding couple of debug info.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@42194
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Wed, 2 Sep 2009 22:39:41 +0000 (22:39 +0000)]
coding style/indent.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@42193
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
cedric [Tue, 1 Sep 2009 12:17:13 +0000 (12:17 +0000)]
* eina_magic: Test suite now work when magic debug is disabled.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@42150
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
dieb [Mon, 31 Aug 2009 14:40:48 +0000 (14:40 +0000)]
Remove legacy error code definition from eina log.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@42126
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
cedric [Mon, 31 Aug 2009 13:52:17 +0000 (13:52 +0000)]
* eina: Add more FP type (f8p24 and f32p32).
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@42124
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
caro [Sat, 29 Aug 2009 20:53:12 +0000 (20:53 +0000)]
typo
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@42091
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
caro [Sat, 29 Aug 2009 19:59:26 +0000 (19:59 +0000)]
better fix : if HW_AVAILCPU is defined, we use it, otherwise we use HW_NCPU
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@42090
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
caro [Sat, 29 Aug 2009 19:29:30 +0000 (19:29 +0000)]
typo
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@42089
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
caro [Sat, 29 Aug 2009 16:39:59 +0000 (16:39 +0000)]
fix for the BSD systems
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@42088
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
caro [Fri, 28 Aug 2009 12:03:34 +0000 (12:03 +0000)]
* 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
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@42077
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
raster [Fri, 28 Aug 2009 11:30:35 +0000 (11:30 +0000)]
fix copying to 2.1 again and keep static linking clause
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@42075
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
raster [Fri, 28 Aug 2009 11:17:59 +0000 (11:17 +0000)]
static linking exception
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@42073
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
caro [Fri, 28 Aug 2009 09:51:39 +0000 (09:51 +0000)]
rename the dll name created by VS
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@42068
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
caro [Fri, 28 Aug 2009 07:34:58 +0000 (07:34 +0000)]
rename project name and filename
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@42064
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
caro [Fri, 28 Aug 2009 07:21:35 +0000 (07:21 +0000)]
* declare variables at the beginning of the block
* strtol returns a long int
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@42063
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
caro [Fri, 28 Aug 2009 07:15:49 +0000 (07:15 +0000)]
fix warning with vc++
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@42062
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
caro [Fri, 28 Aug 2009 06:20:15 +0000 (06:20 +0000)]
update Visual Studio project even more
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@42059
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
caro [Fri, 28 Aug 2009 06:15:35 +0000 (06:15 +0000)]
update Visual Studio project
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@42058
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
dieb [Thu, 27 Aug 2009 21:32:42 +0000 (21:32 +0000)]
Fix compilation issue reported by Vincent on Windows (stdint and c++ compiler), setup a negative value for flagging the unknown level.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@42049
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
dieb [Tue, 25 Aug 2009 21:26:27 +0000 (21:26 +0000)]
Add eina_log module into the main module and global header.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@41985
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Tue, 25 Aug 2009 21:05:00 +0000 (21:05 +0000)]
do not check for data, eina_iterator_next/eina_accessor_data_get() does that.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@41984
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
dieb [Mon, 24 Aug 2009 21:43:48 +0000 (21:43 +0000)]
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.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@41960
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
caro [Sun, 23 Aug 2009 20:37:17 +0000 (20:37 +0000)]
fix warning
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@41943
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
caro [Sun, 23 Aug 2009 09:18:14 +0000 (09:18 +0000)]
* 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.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@41940
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
caro [Thu, 20 Aug 2009 11:56:57 +0000 (11:56 +0000)]
don't do arithmetic on void *
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@41885
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
caro [Thu, 20 Aug 2009 08:31:26 +0000 (08:31 +0000)]
rewrite a bit that m4 macro
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@41881
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
caro [Wed, 19 Aug 2009 12:15:10 +0000 (12:15 +0000)]
-pthread should be passed to eina_chained_mempool_la_LDFLAGS
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@41876
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
caro [Wed, 19 Aug 2009 07:54:13 +0000 (07:54 +0000)]
fix a bit the documentation
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@41870
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
caro [Wed, 19 Aug 2009 07:36:39 +0000 (07:36 +0000)]
clean a bit the hamster
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@41869
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
caro [Wed, 19 Aug 2009 07:09:24 +0000 (07:09 +0000)]
* remove uneeded semicolons
* fix and add doxygen doc
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@41868
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
caro [Tue, 18 Aug 2009 20:04:19 +0000 (20:04 +0000)]
don't suppose that gcc is the only compiler that can be used.
Check if -Wall and -fno-strict-aliasing are supported by the compiler
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@41863
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
cedric [Tue, 18 Aug 2009 13:35:33 +0000 (13:35 +0000)]
* eina_rectangle: Add a local cache to rectangle creation.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@41856
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Sun, 16 Aug 2009 00:47:23 +0000 (00:47 +0000)]
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 =)
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@41799
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
cedric [Fri, 14 Aug 2009 14:22:25 +0000 (14:22 +0000)]
* eina: Fix typo.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@41762
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
raster [Thu, 13 Aug 2009 01:26:08 +0000 (01:26 +0000)]
amazing time hamsters!
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@41728
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
raster [Thu, 13 Aug 2009 00:47:55 +0000 (00:47 +0000)]
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
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@41727
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
cedric [Wed, 12 Aug 2009 09:02:09 +0000 (09:02 +0000)]
* eina_stringshare: We should use "unsigned char", because suncc think that char is signed.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@41697
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
cedric [Tue, 11 Aug 2009 14:14:42 +0000 (14:14 +0000)]
* eina: Fix SunPro compiler.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@41690
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
cedric [Tue, 11 Aug 2009 14:11:36 +0000 (14:11 +0000)]
* eina: eina_cpu_count should be multiplatform.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@41689
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
antognolli [Fri, 7 Aug 2009 20:28:05 +0000 (20:28 +0000)]
Fixed check at the start of eina_list_accessor_get_at.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@41634
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Fri, 7 Aug 2009 01:35:16 +0000 (01:35 +0000)]
be more clear in docs.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@41629
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Thu, 6 Aug 2009 22:31:45 +0000 (22:31 +0000)]
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).
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@41625
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Thu, 6 Aug 2009 22:22:56 +0000 (22:22 +0000)]
allow limit tests to run.
eina_suite TEST1 TEST2 ... is your friend ;-)
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@41624
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Thu, 6 Aug 2009 19:01:47 +0000 (19:01 +0000)]
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.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@41623
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Thu, 6 Aug 2009 18:35:53 +0000 (18:35 +0000)]
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.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@41622
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Thu, 6 Aug 2009 18:08:14 +0000 (18:08 +0000)]
oops, consider fixed_bitmap if it was built statically.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@41621
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Thu, 6 Aug 2009 15:50:19 +0000 (15:50 +0000)]
eina list docs.
* document undocumented functions.
* note order of magnitude of each function, try to avoid users
falling into traps.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@41619
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
cedric [Wed, 5 Aug 2009 14:46:21 +0000 (14:46 +0000)]
* eina_rectangle: Forgot to initialise one attribute.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@41606
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
cedric [Thu, 30 Jul 2009 16:45:15 +0000 (16:45 +0000)]
* eina: Add eina_cpu_count.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@41543
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
raster [Wed, 29 Jul 2009 08:19:34 +0000 (08:19 +0000)]
back to pre ver's
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@41535
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
raster [Wed, 29 Jul 2009 08:03:25 +0000 (08:03 +0000)]
SNAPSHOT: svn-03
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@41532
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
cedric [Tue, 21 Jul 2009 15:21:46 +0000 (15:21 +0000)]
* eina: Handle NULL in eina_list_search_sorted_near_list.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@41467
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Tue, 21 Jul 2009 01:55:31 +0000 (01:55 +0000)]
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
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@41460
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Sat, 18 Jul 2009 15:58:44 +0000 (15:58 +0000)]
update rectangle test to new API.
Guys, when you change API, please change it everywhere and then run tests!
By: Andre Dieb
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@41421
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
cedric [Fri, 17 Jul 2009 11:13:38 +0000 (11:13 +0000)]
* eina: Rename eina_module_list_delete to eina_module_list_flush.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@41385
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
cedric [Thu, 16 Jul 2009 12:09:29 +0000 (12:09 +0000)]
* eina: Fix declaration according to Vincent Torri review.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@41359
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
raster [Thu, 16 Jul 2009 03:04:56 +0000 (03:04 +0000)]
cast. c++ doesn't like the implied void * -> struct * cast.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@41358
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
cedric [Wed, 15 Jul 2009 13:13:52 +0000 (13:13 +0000)]
* eina: Expose an helper for memory pool as Eina_Trash data type.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@41350
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Tue, 14 Jul 2009 15:32:21 +0000 (15:32 +0000)]
inlist: docs, docs docs
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@41328
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Tue, 14 Jul 2009 15:32:01 +0000 (15:32 +0000)]
add missing stddef.h, required by offsetof()
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@41327
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Tue, 14 Jul 2009 14:00:59 +0000 (14:00 +0000)]
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.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@41326
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33