Commit Graph

421 Commits

Author SHA1 Message Date
Vincent Torri 333b64f15e some doc fixes
SVN revision: 51242
2010-08-17 06:58:26 +00:00
Vincent Torri d4cd8f28ae formatting
SVN revision: 51241
2010-08-17 06:05:21 +00:00
Vincent Torri 4e09c14e08 formatting
SVN revision: 51239
2010-08-17 05:28:34 +00:00
Vincent Torri 2e13d0c790 formatting
SVN revision: 51238
2010-08-17 05:22:10 +00:00
Vincent Torri db666d9feb remove rwlock code
SVN revision: 51236
2010-08-17 05:15:28 +00:00
Cedric BAIL e3a887235d * eina: remove configure option for rwlock as it is not used anymore.
SVN revision: 51220
2010-08-16 15:36:17 +00:00
Cedric BAIL c45c36bd80 * eina: attempt to improve a little bit more the header.
Mainly trailing space and macro indentation.


SVN revision: 51217
2010-08-16 15:02:37 +00:00
Cedric BAIL 6293bd87fa * eina: fix amalgamation.
SVN revision: 51210
2010-08-16 13:52:34 +00:00
Cedric BAIL f75eab161d * eina: remove thread safe data type for now. They will be back !
SVN revision: 51179
2010-08-16 09:32:09 +00:00
Carsten Haitzler f4b68549cb formatting. ok - maybe we can have a debate on it, but its better than
it was before. debate up for grabs for now. wont touch other lib
headers until resolved for eina. it's the worst anyway.



SVN revision: 51156
2010-08-16 06:14:19 +00:00
Carsten Haitzler c747bfaadb well got to start somewhere. eina 1.0.0 alpha readied. need to go over
code formatting still (headers specifically). bring doc building
in-line with other efl libs. README is useful now. Changelog waiting
to be filled in for 1.0.0



SVN revision: 51154
2010-08-16 05:40:50 +00:00
Tom Hacohen 063d8ffd64 Eina: Fixed usage of EINA_CONST, the lack of EINA_PURE and EINA_WARN_UNUSED_RESULT and formatting in the following headers:
1. eina_unicode.h
2. eina_strbuf.h eina_ustrbuf.h
3. eina_stringshare.h eina_ustringshare.h eina_binshare.h


SVN revision: 51128
2010-08-15 09:01:16 +00:00
Mike Blumenkrantz 689a24559c add threadsafety for hashes
SVN revision: 51106
2010-08-14 03:05:35 +00:00
Mike Blumenkrantz 44eeac0e1e BOW DOWN BEFORE ME, FOR I HAVE MADE THESE HEADERS READABLE ONCE MORE!
SVN revision: 51065
2010-08-13 06:36:33 +00:00
Mike Blumenkrantz bf66f6f712 go go gadget recrustify!
SVN revision: 51063
2010-08-13 01:46:14 +00:00
Cedric BAIL a6645cb746 * eina: fix eina array threadsafe version.
Also add iterator and accessor ability to walk threadsafely.
	Rename EINA_EACH to EINA_EACH_CB to match other callback cast.


SVN revision: 51000
2010-08-11 14:32:30 +00:00
Mike Blumenkrantz a7398f4e08 refcount locks to avoid deadlocks; array threadsafety should be good to go now
SVN revision: 50962
2010-08-10 12:14:59 +00:00
Mike Blumenkrantz c09c5ed690 and these
SVN revision: 50961
2010-08-10 12:05:51 +00:00
Mike Blumenkrantz a589a1bcbe and this too
SVN revision: 50960
2010-08-10 12:00:36 +00:00
Mike Blumenkrantz cbf7f7b58a array threadsafing wip, get rid of dumb undefineds from earlier
SVN revision: 50959
2010-08-10 11:57:20 +00:00
Mike Blumenkrantz 5b4ec5bd35 change EINA_ARRAY_THREADSAFE_ITER_RETURN to EINA_ARRAY_THREADSAFE_ITER_ESCAPE to match forthcoming threadsafe list api
SVN revision: 50956
2010-08-10 07:48:00 +00:00
Mike Blumenkrantz 56a0bd9396 implement threadsafety for arrays, alter all eina internal array usage to (hopefully) be threadsafe
call eina_threads_init() to enable this if you have pthread rwlock support (posix 2001)
note some function prototypes have lost const on array params to allow locking
WARNING: you should NOT call eina_threads_shutdown unless you are positive that you will not use any arrays which were created while threadsafe mode were enabled, and vice versa.  Failing to adhere to this warning WILL result in either deadlocks or memory leaks.


SVN revision: 50951
2010-08-10 03:26:15 +00:00
Mike Blumenkrantz 224f7d3b55 formatting
SVN revision: 50913
2010-08-08 20:49:26 +00:00
Mike Blumenkrantz 84faaf51fd add rwlock define to eina_config.h
SVN revision: 50911
2010-08-08 19:35:43 +00:00
Lucas De Marchi 0a4617ae38 FORMATTING
* Remove vim modelines:
 find . -name '*.[chx]' -exec sed -i '/\/\*$/ {N;N;/ \* vim:ts/d}' \{\} \;
 find . -name '*.[chx]' -exec sed -i '/\/[\*\/] *vim:/d' \{\} \;

* Remove leading blank lines:
 find . -name '*.[cxh]' -exec sed -i '/./,$!d'

If you use vim, use this in your .vimrc:
set ts=8 sw=3 sts=8 expandtab cino=>5n-3f0^-2{2(0W1st0



SVN revision: 50816
2010-08-04 16:57:32 +00:00
Cedric BAIL c9d5d8a62e * eina: add a way to move a key to another without triggering the Free_Cb.
SVN revision: 50683
2010-07-30 09:06:58 +00:00
Brett Nash 4414556323 Unicde strnlen, and a slight fix to the header so at least part can be read by
humans.

Also strlen/strnlen are pure.


SVN revision: 50676
2010-07-30 03:39:12 +00:00
Iván Briano 55baf0a4f1 DO export this thingies
SVN revision: 50645
2010-07-29 14:08:02 +00:00
Mike Blumenkrantz 5028d6a282 lots of doxy fixes and stop casting to char*
SVN revision: 50582
2010-07-28 03:34:25 +00:00
Carsten Haitzler 15c71af0a5 fix formatting also
SVN revision: 50577
2010-07-28 03:03:25 +00:00
Carsten Haitzler bed21c315d errrr... hmmm why did this change?
SVN revision: 50574
2010-07-28 02:48:11 +00:00
Carsten Haitzler ddc6ba2c2a uncrustify eina.
SVN revision: 50573
2010-07-28 02:37:05 +00:00
Tom Hacohen d928a9ded8 Eina: implement the macro eina_binshare_add.
SVN revision: 50535
2010-07-27 09:41:34 +00:00
Tom Hacohen 279da003e0 Eina: Added Eina_UStrbuf.
Same as Eina_Strbuf but for Eina_Unicode strings.

SVN revision: 50534
2010-07-27 09:05:41 +00:00
Tom Hacohen 3675a5f02b Eina: Add Eina_UStringshare and Eina_Binshare.
Also modified Eina_Stringshare to share most of the code with the two above.
Added Magics for Eina_UStrbuf as well as for UStringshare/Binshare.

SVN revision: 50533
2010-07-27 08:55:23 +00:00
Tom Hacohen 270f765c91 Eina: Added Eina_Unicode.
SVN revision: 50532
2010-07-27 08:22:20 +00:00
Cedric BAIL 07ad9d5139 * eina: add a mempool that just do one big malloc.
SVN revision: 50510
2010-07-26 15:52:43 +00:00
Cedric BAIL 21f5dec9d3 * eina: SPANK SPANK SPANK !
SVN revision: 50509
2010-07-26 09:31:40 +00:00
Mike Blumenkrantz dd2dc39bff this was supposed to go with the last commit...
SVN revision: 50502
2010-07-26 05:09:20 +00:00
Mike Blumenkrantz 7ff1096672 +eina_stringshare_printf
+eina_stringshare_nprintf
the long awaited printf functions for stringshare!


SVN revision: 50490
2010-07-25 19:18:26 +00:00
Mike Blumenkrantz 37de5b807f +eina_error_msg_modify to change the error string of a registered error; preserves allocation state of message creation (errors created with static_register() will remain statically allocated)
SVN revision: 50484
2010-07-25 06:25:06 +00:00
Mike Blumenkrantz 846e224fd2 +eina_str_toupper for completion
SVN revision: 50483
2010-07-25 02:03:10 +00:00
Mike Blumenkrantz 2f183fa194 eina_hash_modify_or_add -> eina_hash_set
SVN revision: 50448
2010-07-23 13:04:21 +00:00
Mike Blumenkrantz 489cae4eee +eina_hash_modify_or_add to always add a value to the hash at the specified key
SVN revision: 50402
2010-07-21 03:15:39 +00:00
Mike Blumenkrantz f18e1899e5 +eina_str_tolower for lowercasing an entire string in one line
SVN revision: 50361
2010-07-19 01:56:42 +00:00
Mike Blumenkrantz c146935917 +eina_stringshare_replace_length to replace a stringshared string with a given length of another string
SVN revision: 50320
2010-07-18 07:39:21 +00:00
Mike Blumenkrantz 8e56225323 attribute whoops
SVN revision: 50318
2010-07-18 06:45:22 +00:00
Mike Blumenkrantz 02ef2d58e5 small patch from andmils in #e; fixes compile on freebsd
SVN revision: 50317
2010-07-18 06:38:23 +00:00
Mike Blumenkrantz 9276378041 +eina_strbuf_string_free to free string in strbuf without freeing strbuf
SVN revision: 50316
2010-07-18 06:21:50 +00:00
Mike Blumenkrantz d3982d4b5c +eina_hash_free_buckets to free buckets without freeing a hash
SVN revision: 50315
2010-07-18 04:24:24 +00:00
Vincent Torri c7bb6d41f5 include sys/syslimits.h on mac os x for PATH_MAX and NAME_MAX
i really dislike having PATH_MAX in a header file...



SVN revision: 50231
2010-07-13 19:17:35 +00:00
Vincent Torri 971f0800ca useless headers now
SVN revision: 50221
2010-07-13 13:57:21 +00:00
Vincent Torri c97a897584 use Win32 native mutex on Windows. To use it, pass the following option
to configure:

--enable-win32-threads

By default, pthreads are used


SVN revision: 50220
2010-07-13 13:51:00 +00:00
Vincent Torri c012d2e7f6 fix compilation on Windows
SVN revision: 50179
2010-07-11 11:52:43 +00:00
Lucas De Marchi 442fe3afae Add missing macros
Add missing EINA_SAFETY_ON_NULL_GOTO and define all the *GOTOs macros when
safety checks are disabled.



SVN revision: 50138
2010-07-09 03:27:04 +00:00
Lucas De Marchi 93f03880bd Do not purify what's impure
Two tests were failing, but no more.



SVN revision: 50067
2010-07-06 15:50:15 +00:00
Gustavo Sverzut Barbieri 5b03bc86ec add some gcc modifiers: non-null args, warn unused results and malloc.
SVN revision: 50066
2010-07-06 15:48:24 +00:00
Gustavo Sverzut Barbieri ed15713785 add eina_file_direct_ls()
Similar to eina_file_ls(), but useful when one wants to apply some
filters to the names before using them as it provides sizes of the
whole path and basename, index of the basename inside the path, dirent
structure for reference (skip directories, etc) and last but not
least, it is faster as it does not stringshare or even builds the full
path at each iteration, instead it keeps the invariant prefix
untouched and just copy the filename.

All in all this is a faster version of eina_file_ls(), use it as
possible as it will avoid overheads.



SVN revision: 50065
2010-07-06 15:45:12 +00:00
Cedric BAIL d4059c7107 * eina: rename ecore_file_ls_iterator to eina_file_ls.
SVN revision: 50002
2010-07-02 17:23:05 +00:00
Cedric BAIL cf128ea0e4 * eina: improve quadtree to support more stuff needed by evas.
SVN revision: 49784
2010-06-21 13:17:09 +00:00
Carsten Haitzler 02503dd152 eina gets version thing ala eet.
SVN revision: 49267
2010-05-29 03:05:04 +00:00
Vincent Torri 247674b26c do not declare inlined functions in the source file,
fix a bit the doc of inlined functions

SVN revision: 49253
2010-05-28 19:03:26 +00:00
Cedric BAIL 6caac50006 * eina: improve QuadTree API.
SVN revision: 48482
2010-04-30 17:04:28 +00:00
Lucas De Marchi c98e00eec0 Define new error handling macros
EINA_SAFETY_ON_TRUE_GOTO and EINA_SAFETY_ON_FALSE_GOTO are now defined
to ease error handling. Functions might need to take actions before
returning upon safety checks fail.




SVN revision: 48478
2010-04-30 14:54:05 +00:00
Cedric BAIL d239b6c524 * eina: oops forgotten file.
SVN revision: 48425
2010-04-29 17:30:18 +00:00
Cedric BAIL 9367b5f7c7 * eina: Add first version of a Quad Tree data type.
NOTE: consider the API experimental and subject to change.


SVN revision: 48424
2010-04-29 17:21:14 +00:00
Cedric BAIL e5abb9bfbe * eina: fix rounding issue with different size of fixed point.
SVN revision: 48053
2010-04-16 14:32:18 +00:00
Vincent Torri 8f36c8075e explicit cast
SVN revision: 47907
2010-04-10 23:23:26 +00:00
Tiago Rezende Campos Falcao b7e410d621 Adding strbuf printfs
SVN revision: 47877
2010-04-09 15:56:20 +00:00
Vincent Torri 8126debb06 fix most compilation errors with vc++ (there are still a
problem with eina_log and output of the log messages:
STDERR_FILENO, STDOUT_FILENO and isatty())

fix some warnings and header files inclusion

update vcproj files


SVN revision: 47384
2010-03-23 06:41:17 +00:00
Gustavo Sverzut Barbieri 9839906150 stringshare: optimization suggested by rasterman, docs.
SVN revision: 47193
2010-03-14 01:06:52 +00:00
Vincent Torri 85b56aebd5 update string buffer documentation
SVN revision: 47084
2010-03-09 16:36:14 +00:00
Vincent Torri 42dcade4b2 more supported OS
SVN revision: 46953
2010-03-07 16:01:00 +00:00
Vincent Torri 248ecd4a13 update TOC
SVN revision: 46949
2010-03-07 14:38:14 +00:00
Vincent Torri b3019e3d4b * fix more str doc
* move static stringshare functions to the 'private'
   part of the file (hence doc fixes)


SVN revision: 46933
2010-03-07 07:11:13 +00:00
Vincent Torri 993b4a6960 fix doc for eina_str
SVN revision: 46931
2010-03-07 06:59:28 +00:00
Vincent Torri 3648f0ed3e the 4th parameter should not be NULL, not the 3rd
patch by Lionel Orry


SVN revision: 46837
2010-03-03 17:25:07 +00:00
Cedric BAIL cf5a3517b9 * eina: Add eina_list_data_set.
SVN revision: 46724
2010-03-01 17:46:15 +00:00
Gustavo Sverzut Barbieri 61f65ae20a Allow user to redefine the default logging level used by
EINA_LOG_ERR(), EINA_LOG_DBG() and other macros.

This will help us to avoid the cumbersome work of having to define the
local macros. I still find the 3-letter macros handy, but we are not
forced to use them now.

I did a small modification to keep the EINA_LOG_DOMAIN_GLOBAL and use
a different symbol for the define, it is EINA_LOG_DOMAIN_DEFAULT. The
documentation was updated to highlight the 2 usage scenario and care
that must be used.


By: Peter Johnson <tam@hiddenrock.com>



SVN revision: 46700
2010-03-01 15:08:40 +00:00
Cedric BAIL 99f4054ce5 * eina: Don't variable name that could shadow math symbols.
Patch requested by Albin "Lutin" Tonnerre.


SVN revision: 46694
2010-03-01 13:50:35 +00:00
Gustavo Sverzut Barbieri 0cece24af2 remove stupid letter I introduced by mistake.
SVN revision: 46671
2010-02-28 21:56:33 +00:00
Gustavo Sverzut Barbieri 90c5c1daaa doc improvements.
SVN revision: 46670
2010-02-28 21:29:30 +00:00
Gustavo Sverzut Barbieri 66ff799e5e Fix other EINA_PURE/EINA_CONST.
Some of them were working because they were inline, so the compiler
would know an just ignore the flag.

For lists and rbtree there is no problem as after each operation we
must change the pointer to the new head, thus the compiler will
consider it changed.



SVN revision: 46583
2010-02-27 15:17:15 +00:00
Gustavo Sverzut Barbieri 8daa98f42e ouch, SPANK SPANK SPANK... me :-( wrong function attributes.
I forgot that EINA_CONST refer to the pointer itself, not to its
contents, as such the pointer did not changed, so gcc was optimizing
subsequent fetches of the value.

There should be another optimization to check for this... but then I
guess it's just c++



SVN revision: 46580
2010-02-27 14:51:52 +00:00
Gustavo Sverzut Barbieri f98c65afcc missing useful warnings for eina_str
SVN revision: 46549
2010-02-27 03:49:13 +00:00
Gustavo Sverzut Barbieri 08127ecc3e eina_str speedups.
* eina_str_split() now does the minimum number of passes and
   allocations. The first pass figures out the string size (strlen())
   and number of delimiters, so we can allocate the exact number of
   elements in array. The second repeats the loop copying elements to
   string and also setting them to the result array.

 * eina_str_split_full() is a variation of eina_str_split() that
   returns also the number of elements in array, in the case you need
   to pre-allocate another array to copy.

 * eina_strlen_bounded() is introduced to limit strlen() results, this
   is used in has_prefix and has_suffix, but possibly other use cases
   where string must be of a maximum size as we don't do useless
   iterations;



SVN revision: 46547
2010-02-27 03:42:27 +00:00
Gustavo Sverzut Barbieri 6769ba3b45 optimization attributes for functions.
SVN revision: 46523
2010-02-26 21:42:03 +00:00
Gustavo Sverzut Barbieri 7dfc83a627 add missing macro for prepend.
SVN revision: 46522
2010-02-26 21:34:28 +00:00
Gustavo Sverzut Barbieri bba70aef2e eina_strbuf_insert variants and fix leak with eina_strbuf_append_escaped()
SVN revision: 46521
2010-02-26 21:33:17 +00:00
Gustavo Sverzut Barbieri f32672764d add eina_strbuf_append_length()
SVN revision: 46516
2010-02-26 20:09:36 +00:00
Gustavo Sverzut Barbieri e3c9d3f62a TRUE/FALSE are gone, use EINA_TRUE/EINA_FALSE instead.
SVN revision: 46500
2010-02-26 00:59:11 +00:00
Gustavo Sverzut Barbieri ff6532a1bd minor documentation fixes.
still needs someone to read and review that.


SVN revision: 46499
2010-02-26 00:57:20 +00:00
Gustavo Sverzut Barbieri 7c8ca04def Remove eina_error deprecated functions.
There were deprecated looooooooong ago, use eina_log if there are some
alien users out there.



SVN revision: 46496
2010-02-26 00:28:58 +00:00
Sebastian Dransfeld 5c49be6e01 Add const where we don't modify pointer
SVN revision: 46153
2010-02-13 19:06:16 +00:00
Vincent Torri 1213602ae5 constants should be unsigned
SVN revision: 46108
2010-02-12 07:27:27 +00:00
Sebastian Dransfeld 229e5de19d remove trailing whitespace
SVN revision: 46029
2010-02-09 21:12:03 +00:00
Sebastian Dransfeld 5847c6f245 string_remove -> string_steal
Better naming

SVN revision: 46028
2010-02-09 21:06:27 +00:00
Sebastian Dransfeld fe99f062e9 Check whether alloc works, return false on error
SVN revision: 46027
2010-02-09 21:06:16 +00:00
Sebastian Dransfeld dca87fdf87 Typo
SVN revision: 46025
2010-02-09 21:05:56 +00:00
Gustavo Sverzut Barbieri ebed1f20fe minor matching speedups.
keep log level name size (namelen) and use it before strcmp().



SVN revision: 45998
2010-02-09 02:13:55 +00:00