Commit Graph

1341 Commits

Author SHA1 Message Date
Vincent Torri 4a16749112 Eina_lock : fix Windows code, thanks to cedric
SVN revision: 59504
2011-05-18 13:15:25 +00:00
Cedric BAIL c132a4ac50 eina: fix typo.
SVN revision: 59503
2011-05-18 12:56:49 +00:00
Tom Hacohen 4ea3aa489f Eina binbuf: Fix compilation and correct the mistakes.
SVN revision: 59500
2011-05-18 11:45:32 +00:00
Tom Hacohen 594d94782b Eina binbuf: Struct name should be binbuf, not strbuf.
SVN revision: 59497
2011-05-18 10:52:50 +00:00
Cedric BAIL fe7ae5930a eina: part of the init is specific, so preserve it.
SVN revision: 59493
2011-05-18 10:05:59 +00:00
Cedric BAIL 42e460e3b6 eina: fix eina_share_common_init.
SVN revision: 59485
2011-05-18 07:56:11 +00:00
Sangho Park 7cbc531e4c Eina: add 'eina_init()' at the testcase of simple_xml_parser.
SVN revision: 59479
2011-05-18 02:49:59 +00:00
Sangho Park 725b056fab Eina: add testcase for 'eina_simple_xml_parser'
SVN revision: 59478
2011-05-18 02:29:59 +00:00
Cedric BAIL c9a4fc3054 eina: fix eina_file to be really usable.
SVN revision: 59470
2011-05-17 16:17:28 +00:00
Tom Hacohen 8ca233f8cb Eina binbuf: Added eina_binbuff an auto resizing binary buffer.
SVN revision: 59468
2011-05-17 15:45:39 +00:00
Cedric BAIL 44798b830c eina: build without threads support.
SVN revision: 59467
2011-05-17 10:15:19 +00:00
Vincent Torri 43397834ac Eina_ : eina_file_win32.c : fix returned value of eina_file_shutdown()
SVN revision: 59463
2011-05-17 05:38:29 +00:00
Vincent Torri 495c88aac8 fix eina_prefix.c on Windows (at least a part of it, as elm is not working with it)
SVN revision: 59454
2011-05-16 17:39:20 +00:00
Vincent Torri eebeebb147 fix eina_inline_lock_void.x
SVN revision: 59453
2011-05-16 17:37:51 +00:00
Vincent Torri d809170ea9 Eina: eina_lock: fix eina_lock on Windows
SVN revision: 59395
2011-05-15 10:55:07 +00:00
Vincent Torri 65892e65b7 Eina : eina_lock : make it compile on Windows
SVN revision: 59391
2011-05-14 21:19:36 +00:00
Boris Faure 021819f4f9 eina: improve hash documentation on free_cb
SVN revision: 59383
2011-05-14 14:39:25 +00:00
Cedric BAIL 31e53c82bf eina: always put map in memory when requested and use HUGETLB when available.
SVN revision: 59366
2011-05-13 10:44:29 +00:00
Cedric BAIL 0351269adc eina: check condition is still alive when debugging threads.
SVN revision: 59299
2011-05-09 14:41:39 +00:00
Cedric BAIL 9e20be0766 eina: have same behaviour on windows and linux.
SVN revision: 59297
2011-05-09 13:12:36 +00:00
Cedric BAIL 5f820ce976 eina: oops, need to protect inside #ifdef.
SVN revision: 59295
2011-05-09 13:06:03 +00:00
Cedric BAIL c73f0f9cf5 eina: improve lock debugging.
SVN revision: 59293
2011-05-09 12:54:47 +00:00
Cedric BAIL d2b65a51d0 eina: more check.
SVN revision: 59289
2011-05-09 10:42:42 +00:00
Cedric BAIL d20144bc9f eina: add Eina_Condition.
SVN revision: 59287
2011-05-09 10:32:56 +00:00
Cedric BAIL 83c3a1a0fb eina: check pending lock at the right time.
SVN revision: 59286
2011-05-09 10:29:55 +00:00
Cedric BAIL 8820713691 eina: remove flood of debugging information.
SVN revision: 59234
2011-05-06 09:16:40 +00:00
Cedric BAIL b4f8d80b02 eina: remove useless lock.
SVN revision: 59233
2011-05-06 09:07:26 +00:00
Cedric BAIL 25550183e0 eina: improve on/off and debugging lock.
Now if a lock is still taken when shutdown occur, you will know
where it come from !


SVN revision: 59191
2011-05-04 13:53:22 +00:00
Tom Hacohen 4a11dacf16 Eina lock: unused warning suppression is done with (void).
Not only that it's uglier doing mutex=0, but also new gcc started
complainig about it.

SVN revision: 59137
2011-05-02 18:19:41 +00:00
Cedric BAIL fdc092efe1 eina: forgotten commit.
SVN revision: 59125
2011-05-02 13:52:34 +00:00
Cedric BAIL 5c2d05374c eina: use the right naming.
SVN revision: 59124
2011-05-02 13:51:20 +00:00
Cedric BAIL 691da73b84 eina: add back threads on/off support.
NOTE: only use it if you know what you are doing !


SVN revision: 59123
2011-05-02 13:40:28 +00:00
Cedric BAIL e5402b2eb2 eina: forgotten initialization.
SVN revision: 59121
2011-05-02 13:09:38 +00:00
Cedric BAIL 9140383045 eina: improve thread debugging and portability.
All thread debugging facility, including lock debug, on by turning --enable-debug-threads
at configure time of eina.

When threads check are disable, make sure that all lock/release are called
from the main loop only. And in all case, eina_lock_new/eina_lock_delete should be
called from the main loop.

Remove static initialization as it is not portable under Windows.



SVN revision: 59118
2011-05-02 11:25:35 +00:00
Cedric BAIL a345a670b2 eina: make sure eina_threads_init/eina_threads_shutdown are correctly called.
SVN revision: 59117
2011-05-02 11:20:00 +00:00
Carsten Haitzler 5061598e12 also return deadlock from normal lock (not try only)
SVN revision: 59103
2011-05-02 08:34:22 +00:00
Carsten Haitzler 651cff4602 formalise eina lock results to be equivalent to true/false with added
deadlock for try.



SVN revision: 59101
2011-05-02 08:24:06 +00:00
Vincent Torri 65e50307a0 time.h should be sufficient
SVN revision: 59096
2011-05-02 07:04:24 +00:00
Vincent Torri 604c4b993a Eina: eina_file.h: fix compilation on Mac Os X
define time_t on Mac OS X. Patch by Dave Ray.


SVN revision: 59095
2011-05-02 05:52:31 +00:00
Carsten Haitzler 234f0a4659 oh dear. this new eina_lock thing is a bit of a mess isn't it now?
some fundamental errors there. don't go replacing pthread locks with
wrappers unless you know full well what u are doing. havnig threads
only work while "threads are initted" and then init/shtudown the thread
thing every time u spawn a thread.. is pretty silly. what if a thread
ends in the background WHILE u have a lock.. u try unlock.. u know
what ? your unlock DOES nothing. so you retain a lock. next time u
want to lock once a thread is around.. u have a deadlock issue.

even better - the checking if threads are initted and up is not
locked, so it can come up while it is being checked. more race
conditions. u need to clokc the init/shutdown AND lock the checking of
the value... and even then u STILl have problem #1 above. so that code
is now gone.

also trylock trturn inverse logic to the original pthread func and the
macros in evas that used it were not changed accordingly! aaagh!

i've also added backtrace debug ability to eina threads if compiled in
- u can get a bt of who last locked something. i had to do this just to
begin to grasp what on earth was going on. it's off by default.
also... the locks are error check locks to trylock can detect
deadlocks. speacil "2" return for now. better than a poke in the eye
with a sharp stick until we decide what to do. for now i hopew i have
killed this thread lock bug.




SVN revision: 59085
2011-05-01 13:24:08 +00:00
Boris Faure a96931a66b eina: fix #elif usage
SVN revision: 59044
2011-04-29 19:08:03 +00:00
Boris Faure 64f1cee555 eina: remove redundant declaration
SVN revision: 59043
2011-04-29 19:07:46 +00:00
Tom Hacohen 00c53f261b Eina refcount: Wrap EINA_REFCOUNT_UNREF with do {} while(0).
SVN revision: 59042
2011-04-29 18:54:29 +00:00
Cedric BAIL f97a64ca03 eina: Add refcounting macro helper.
SVN revision: 59038
2011-04-29 16:09:07 +00:00
Vincent Torri 0e6b42e9b1 Eina: eina_object : more use of eina_lock
SVN revision: 58980
2011-04-27 19:44:57 +00:00
Vincent Torri a288cd7af1 Eina: Fix static build of the buddy mempool
SVN revision: 58974
2011-04-27 17:00:36 +00:00
Vincent Torri 95fc9bf64f formatting: alphabetical order
SVN revision: 58973
2011-04-27 16:58:23 +00:00
Vincent Torri 4f484b58f5 do not enter the modules dir if they are not built
SVN revision: 58971
2011-04-27 16:15:41 +00:00
Vincent Torri f30f757ebc remove shadow var
SVN revision: 58966
2011-04-27 15:50:12 +00:00
Vincent Torri febfcd253d Eina: eina_lock : fix compilation on Windows. eina_object.c must be fixed too.
SVN revision: 58920
2011-04-26 06:55:17 +00:00
Cedric BAIL 6692daabc3 eina: fix eina_lock on windows.
SVN revision: 58893
2011-04-25 08:48:20 +00:00
Carsten Haitzler 3090b681a8 lets compile again shall we?
SVN revision: 58883
2011-04-25 02:30:42 +00:00
Cedric BAIL cf902d9275 eina: move eina_object to use eina_lock too.
SVN revision: 58876
2011-04-24 20:22:50 +00:00
Cedric BAIL 3abc9015d4 eina: put global into namespace and add lock abort
SVN revision: 58875
2011-04-24 20:22:17 +00:00
Cedric BAIL bd1337f4cd eina: fix api to actually work as expected.
SVN revision: 58871
2011-04-24 16:49:48 +00:00
Cedric BAIL f7d9487aff eina: starting to use eina_lock.
SVN revision: 58869
2011-04-24 15:54:09 +00:00
Carsten Haitzler 3191185792 fix bug when dladdr doesnt return full path. odd that it doesnt.
SVN revision: 58865
2011-04-24 09:53:00 +00:00
Carsten Haitzler df9d051095 make docs right
SVN revision: 58862
2011-04-24 09:32:16 +00:00
Vincent Torri 694a364ced Eina: Fix uninstallation of the mempools modules
SVN revision: 58859
2011-04-24 09:11:11 +00:00
Vincent Torri a17425080f whitespaces--
SVN revision: 58858
2011-04-24 08:37:52 +00:00
Carsten Haitzler ebe846c0f5 make sure eina_prefix is marked since 1.1.0
SVN revision: 58857
2011-04-24 08:30:12 +00:00
Vincent Torri e521dfb65b remove useless headers
SVN revision: 58854
2011-04-24 08:12:00 +00:00
Vincent Torri 4287e530db on Windows, the path separator in PATH env var is a semicolon, not a colon
SVN revision: 58852
2011-04-24 07:57:16 +00:00
Vincent Torri 359c52c48d whitespace cleanup and a bit of formatting
SVN revision: 58851
2011-04-24 07:49:43 +00:00
Carsten Haitzler d0ebc2d804 put a general prefix finder in eina.
SVN revision: 58848
2011-04-24 07:35:30 +00:00
Vincent Torri 6e8d19b150 Eina: Add Eina_Lock API
Eina_Lock API is a small set of functions to manage in a
cross platform way mutual exclusion objects



SVN revision: 58835
2011-04-22 21:26:36 +00:00
Vincent Torri 02ee0d1ee6 Eina: eina_object: Fix integer size on Windows 64 bits
* use unsigned __int64 on Windows 64 bits
 * use unsigned modifier 'u' to print objects id


SVN revision: 58820
2011-04-22 05:36:44 +00:00
Carsten Haitzler 3b167a62f5 populate optional.
SVN revision: 58792
2011-04-21 11:54:16 +00:00
Vincent Torri c87ae61fb8 Eina: eina_file: port API to Windows
Currently, that code can potentially fail on Windows 64 bits
as long is of size 32 bits and not 64 bits. All the file length
and offset must be changed to something that fit the arch, like size_t,
or use always uint64_t


SVN revision: 58680
2011-04-15 07:03:17 +00:00
Mike Blumenkrantz 8547ebf47f fix error_find to actually return the Eina_Error instead of just i
SVN revision: 58679
2011-04-15 00:41:01 +00:00
Mike Blumenkrantz b1088dc204 fix input check for list_move, add ESNV for error
SVN revision: 58670
2011-04-14 18:21:40 +00:00
Mike Blumenkrantz cc1d028aee unrevert. this is not a mistake.
SVN revision: 58654
2011-04-14 07:42:04 +00:00
Vincent Torri f4670f64bf revert. The check is already done by EINA_MAGIC_CHECK, called by EINA_MAGIC_CHECK_LIST
SVN revision: 58650
2011-04-14 06:56:10 +00:00
Vincent Torri 2816a9b59d Eina: eina_file.c: use fcntl instead of O_CLOEXEC
SVN revision: 58649
2011-04-14 05:52:24 +00:00
Vincent Torri 644bf855f4 Eina: eina_file.c replace ACCESSPERMS, which is not protable, by its value
SVN revision: 58648
2011-04-14 05:39:09 +00:00
Mike Blumenkrantz 391ed4d617 fix input check
SVN revision: 58647
2011-04-14 01:04:54 +00:00
Carsten Haitzler cd1c9be1f9 errrr.. how about we DONT make every eina using app spew out:
ERR<23281>:eina eina_main.c:173 _eina_shutdown_from_desc() Problems
shutting down eina module 'file', ignored.

now there's a bright idea eh?



SVN revision: 58645
2011-04-13 21:50:23 +00:00
Vincent Torri a303d5add7 fix win32 build
SVN revision: 58642
2011-04-13 17:51:00 +00:00
Vincent Torri 3d26976ef8 move doxy tag
SVN revision: 58641
2011-04-13 17:03:24 +00:00
Vincent Torri 4ae466a30c put __UNUSED__ where we usually put it : after the parameter name
SVN revision: 58638
2011-04-13 16:29:29 +00:00
Cedric BAIL 8a8153bf2d eina: add Eina_File API.
NOTE: the purpose of this API is to replace mmap user in the
EFL, share cache and more code across them. The potential user
are eet, evas, efreet, eio and enlil. More patch are needed for
them to use this infra. Help welcome :-)

NOTE2: this API also need more test and is waiting for some
more pthread infra before being thread safe. But at the end
it will be thread safe if eina thread safety is requested.


SVN revision: 58637
2011-04-13 16:15:30 +00:00
Daniel Juyung Seo 7c80267fd1 Eina eina_list.c: Fixed formatting.
SVN revision: 58614
2011-04-13 07:46:28 +00:00
Mike Blumenkrantz 255f625ff1 class is a reserved word. SPANK SPANK SPANK cedric!!!
SVN revision: 58613
2011-04-13 03:08:58 +00:00
Mike Blumenkrantz d422c0a88e add bench for google's cityhash function (64bit, http://code.google.com/p/cityhash/)
convenient graph of output can be found at http://www.enlightenment.org/~discomfitor/hash_bench.png


SVN revision: 58610
2011-04-12 23:12:52 +00:00
Cedric BAIL c443dd97fd eina: fix 64bits warning.
SVN revision: 58583
2011-04-12 09:00:45 +00:00
Cedric BAIL d7800c23e3 eina: alloc ABI2 to reduce risk for futur ABI change.
SVN revision: 58582
2011-04-12 08:52:59 +00:00
Cedric BAIL 5165613666 eina: fix amalgamation build.
SVN revision: 58569
2011-04-11 21:16:20 +00:00
Cedric BAIL 8b276b36c7 eina: add Eina_Object API.
This API is what could be used by all EFL library for their exposed
type (Evas_Object, Ecore_Timer, Ecore_Animator, Eio_File, ...). The
purpose of Eina_Object is to provide an "obscure" pointer that is
infact an ID with a generation count that will never be dereferenced
directly.
   This provide the benefit of always accessing a living object
with 1/256 chance to being the expected generation of it, that will
always be of the right type.
   It also provide asynchronous repacking ability (still highly
inefficient, but not really hard to improve), simple inheritance
with constructor/destructor and link between object.

All this implementation is highly open for comment, idea, review,
fix and change. I didn't got the time to write a sample test right
now. Maybe will come tomorrow. Same for docs.



SVN revision: 58562
2011-04-11 18:00:34 +00:00
Cedric BAIL 6ffb3b8d9f eina: restore ABI compatibility.
NOTE: if you did update the EFL during the last 3 hours, you will need to 
      recompile them all at once.


SVN revision: 58561
2011-04-11 17:45:01 +00:00
Cedric BAIL 90801855db eina: prevent NULL offsetting.
SVN revision: 58560
2011-04-11 17:28:16 +00:00
Cedric BAIL 29639eea35 eina: add eina_mempool_repack.
WARNING: HIGHLY UNTESTED PIECE OF CODE ! USE IT AT YOUR OWN RISK !


SVN revision: 58554
2011-04-11 14:07:42 +00:00
Cedric BAIL ca83ca2ff4 eina: add eina_inlist_sort (merge sort based on eina_list code).
SVN revision: 58540
2011-04-11 09:55:27 +00:00
Carsten Haitzler 8945479719 doxy -> .h
SVN revision: 58450
2011-04-07 13:17:25 +00:00
Carsten Haitzler d2b654d777 doxy->h
SVN revision: 58448
2011-04-07 13:15:31 +00:00
Carsten Haitzler 703b835643 doxy -> .h
SVN revision: 58445
2011-04-07 13:13:11 +00:00
Carsten Haitzler c46642cb97 doxy -> .h
SVN revision: 58444
2011-04-07 13:11:27 +00:00
Carsten Haitzler 1c640c7704 more doxy -> .h
SVN revision: 58443
2011-04-07 13:08:48 +00:00
Carsten Haitzler 14478ee124 doxy -> .h
SVN revision: 58442
2011-04-07 13:05:05 +00:00
Carsten Haitzler 4bbfbb6b33 doxy -> .h
SVN revision: 58440
2011-04-07 13:01:48 +00:00
Carsten Haitzler ca4fa3936a doxy -> .h
SVN revision: 58439
2011-04-07 13:00:10 +00:00
Carsten Haitzler 99167100db doxy
SVN revision: 58438
2011-04-07 12:58:21 +00:00
Carsten Haitzler 11ed8ad05f more dox -> .h
SVN revision: 58437
2011-04-07 12:57:44 +00:00
Carsten Haitzler 046360b50b more doxy -> .h
SVN revision: 58436
2011-04-07 12:45:51 +00:00
Carsten Haitzler 6e21633ccd doxy -> .h
SVN revision: 58435
2011-04-07 12:44:02 +00:00
Carsten Haitzler 57dbcaaaa2 more doxy -> .h
SVN revision: 58434
2011-04-07 12:38:55 +00:00
Carsten Haitzler 99c6a32a15 more doxy to .h
SVN revision: 58432
2011-04-07 12:31:57 +00:00
Carsten Haitzler b8b576afa9 more doxy -> .h
SVN revision: 58430
2011-04-07 12:26:24 +00:00
Carsten Haitzler 807038c47f more doxy -> .h
SVN revision: 58429
2011-04-07 12:23:22 +00:00
Carsten Haitzler 54bf7e1c01 more dox -> .h
SVN revision: 58427
2011-04-07 12:21:50 +00:00
Carsten Haitzler f61f070efc more doxy -> .h
SVN revision: 58426
2011-04-07 12:17:32 +00:00
Carsten Haitzler 4ba040a35c more dox -> .h
SVN revision: 58425
2011-04-07 12:04:24 +00:00
Carsten Haitzler 3b77b6c3c5 move more doc to .h
SVN revision: 58424
2011-04-07 11:55:27 +00:00
Carsten Haitzler a91e054426 more doxy -> .h
SVN revision: 58421
2011-04-07 11:40:55 +00:00
Carsten Haitzler d44242d02c more doxy -> h
SVN revision: 58420
2011-04-07 11:39:20 +00:00
Carsten Haitzler d5e0c692ea more doc to h files
SVN revision: 58419
2011-04-07 11:30:22 +00:00
Carsten Haitzler 4d3ab4d8b4 more doc -> header.
SVN revision: 58416
2011-04-07 11:22:34 +00:00
Carsten Haitzler 3a3746c4c3 more docs to .h files.
SVN revision: 58415
2011-04-07 11:16:30 +00:00
Carsten Haitzler 4aa79a0fb9 more docs to headers.
SVN revision: 58414
2011-04-07 11:12:45 +00:00
Carsten Haitzler 7c3aa4194d move some more doc to .h
SVN revision: 58413
2011-04-07 11:01:26 +00:00
Carsten Haitzler a55fbc4baa some doc -> .h
SVN revision: 58412
2011-04-07 10:38:25 +00:00
Carsten Haitzler 9f011dfa0c move docs to .h
SVN revision: 58411
2011-04-07 10:26:38 +00:00
Carsten Haitzler a9b8e43440 slight doc clean
SVN revision: 58404
2011-04-07 04:42:01 +00:00
Cedric BAIL d88f1e2061 eina: fix amalgamation build.
SVN revision: 58392
2011-04-06 15:18:08 +00:00
Cedric BAIL 30fda98e76 eina: add Eina_Simple_Xml parser by Gustavo.
TODO: fix docs (but today, eina doc need some love again)
      use iconv and handle encoding (can get entity-to-utf8 from evas)
      description of what to do at :
http://marc.info/?l=enlightenment-devel&m=129975452006699&w=3

NOTE: this mean this API is not stable yet and will be broken soon.


SVN revision: 58387
2011-04-06 10:14:03 +00:00
Boris Faure dde69f8e34 eina-hash: improve documentation + indent + wibble
SVN revision: 58157
2011-03-28 21:37:35 +00:00
Tom Hacohen 5166a9b7ea Eina unicode: Removed an old comment.
SVN revision: 58154
2011-03-28 13:33:03 +00:00
Boris Faure 9cc54c5f5a eina: fix typos in eina_hash doc
SVN revision: 58128
2011-03-27 20:52:16 +00:00
Cedric BAIL 385e1b08f2 eina: refactoring.
SVN revision: 57993
2011-03-22 16:33:34 +00:00
Mike Blumenkrantz a9e66d1f32 err...always strcmp this not sure what I was thinking
SVN revision: 57864
2011-03-19 00:15:42 +00:00
Mike Blumenkrantz f0ff4ed477 +EAPI Eina_Error eina_error_find(const char *msg)
SVN revision: 57863
2011-03-19 00:07:23 +00:00
Mike Blumenkrantz bb5a5a5ab4 use stringshare in eina_error
the only restriction here is that eina_error_msg_register cannot be used internally by eina prior to stringshare init, but since this does not happen currently there is no problem :)


SVN revision: 57861
2011-03-18 22:02:03 +00:00
Tom Hacohen ca03e3b71c Eina inlist: Improved docs a bit.
SVN revision: 57825
2011-03-17 15:31:09 +00:00
Cedric BAIL b5e8b3d28f eina: better fix for large file.
SVN revision: 57627
2011-03-09 14:59:48 +00:00
Cedric BAIL e8ca19f09c eina: fix stat failure when size, blocks count or serial number didn't
fit in 32bits.


SVN revision: 57624
2011-03-09 14:49:35 +00:00
Carsten Haitzler a457791496 remove.
SVN revision: 57387
2011-02-27 14:40:54 +00:00
Carsten Haitzler 949e428ca1 make label not have nothing after it. fix err when valgrind and
threads disabled.



SVN revision: 57373
2011-02-27 11:27:02 +00:00
Boris Faure c37192fcd2 eina: typo in doc
SVN revision: 57312
2011-02-24 21:55:00 +00:00
Vincent Torri b0975aa65a Eina chained mempool:
Fix a compilation failure when --disable-posix-threads
--disable-valgrind are passed to configure

When --disable-posix-threads --disable-valgrind are passed
to configure, a label is at the end of a block. Just add a
return to fix that problem.



SVN revision: 57290
2011-02-24 07:05:50 +00:00
Tom Hacohen 49a33976cc Eina ut8: Made the utf8 parser tests more complete.
Added standalone continuation bytes tests.
Added isolated starting sequences tests
Added incomplete sequences tests
Added Overlong representations tests.
And I think that's it. Still need to add tests for surrogate pairs.

SVN revision: 57123
2011-02-17 11:49:37 +00:00
Vincent Torri 1c492ce551 Better headers check.
Btw, should we include inttypes.h where we include stdint.h ?


SVN revision: 57114
2011-02-17 08:34:42 +00:00
Tom Hacohen 8c4bdb6164 Eina utf8: Handle overlong representations in the parser.
SVN revision: 57112
2011-02-17 07:53:49 +00:00
Mike Blumenkrantz e06df9182c +eina_list_move* for moving list node data to another list
SVN revision: 57110
2011-02-17 07:29:12 +00:00
Tom Hacohen 0f686bb04b Eina coverage: Added eina_unicode_utf8_* and utf8<->Eina_Unicode testing coverage.
SVN revision: 57094
2011-02-16 15:43:29 +00:00
Tom Hacohen 7214694dba Eina unicode: Added utf8 handling functions and also added Eina_Unicode<->UTF-8 conversions.
It's the functions from Evas_Encoding that have been renamed.
I also added support for 6byte UTF-8 conversion (Eina_Unicode->UTF-8).

SVN revision: 57093
2011-02-16 15:43:25 +00:00
Mike Blumenkrantz b48b7eb6ea +EINA_INLIST_FOREACH_SAFE
it looks crazy, but it works somehow


SVN revision: 57080
2011-02-16 09:34:27 +00:00
Tom Hacohen 9fcf0b3c46 Eina unicode: Added eina_unicode_strndup.
SVN revision: 56807
2011-02-08 13:43:03 +00:00
Cedric BAIL 11d82c19c7 * eina: change limit to produce more meaning full benchmark.
SVN revision: 56713
2011-02-04 14:08:00 +00:00
Cedric BAIL 3a058ac014 * eina: revert and fix a typo that make stuff even faster.
SVN revision: 56712
2011-02-04 14:03:18 +00:00
Tom Hacohen f2afb18e00 Eina: reverted commit 56637 (scalability and whatever improvements) it had HUGE leaks.
SVN revision: 56695
2011-02-03 20:04:03 +00:00
Lucas De Marchi da0c0f320f fix misuse of EINA_PURE
qsort may modify a global variable, so this function cannot have pure attribute



SVN revision: 56652
2011-02-02 17:07:49 +00:00
Cedric BAIL b409910a2a * eina: improve speed and scalability a lot.
SVN revision: 56637
2011-02-01 18:10:03 +00:00
Mike Blumenkrantz 58ff455b69 inglishicize some ducks
SVN revision: 56344
2011-01-28 16:05:12 +00:00
Tom Hacohen c0a800288d Unlock should be run *after* EINA_MAGIC_FAIL otherwise wrong info about the error will be printed, because unlock may modify d.
SVN revision: 56209
2011-01-18 08:34:14 +00:00
Vincent Torri d3420a210d put again eina tests in the source tree
SVN revision: 56193
2011-01-16 17:55:41 +00:00
Carsten Haitzler ef9a0591f1 why calloc (fill with 0's) then re-fill it again instantly.. except
the nul terminator? pointless. fix.



SVN revision: 56145
2011-01-16 01:14:29 +00:00
Mike Blumenkrantz 1147f3a5ca fix null deref again, this time with the power of spankies
SVN revision: 56105
2011-01-14 08:04:23 +00:00
Mike Blumenkrantz 2ea38f3b4a we null check right before this. seriously.
SVN revision: 56090
2011-01-14 03:29:58 +00:00
Mike Blumenkrantz 97585ca507 if alloca fails you're screwed anyway, so not much point checking for it
SVN revision: 56089
2011-01-14 03:28:27 +00:00
Mike Blumenkrantz 01f1362c4e and also avoid leak while avoiding
SVN revision: 56088
2011-01-14 03:21:50 +00:00
Mike Blumenkrantz 3685b112ee avoid possible null function pointer
SVN revision: 56087
2011-01-14 03:19:17 +00:00
Carsten Haitzler 6502ea96ea hve to revert these commits. they hve created a whole chunk of 64bit
crashes on linux. this is REALLY bad. so remove these changes now.



SVN revision: 55981
2011-01-07 15:56:54 +00:00
Vincent Torri 0745ad7878 use configure-time headers checks instead of compiler ones
SVN revision: 55967
2011-01-07 06:28:17 +00:00
Vincent Torri f2474ddf7c revert non wanted changes
SVN revision: 55939
2011-01-06 18:26:40 +00:00
Vincent Torri 5a36e40473 move AC_GNU_SOURCE before libtool init
SVN revision: 55938
2011-01-06 18:19:42 +00:00
Vincent Torri c8c4f6bf9f make eina compile again on Windows CE
SVN revision: 55853
2011-01-04 18:09:22 +00:00
Vincent Torri 4f74d075c6 better namespace
SVN revision: 55813
2011-01-03 07:16:01 +00:00
Tom Hacohen c730fdf95e Fixed documentation a bit.
SVN revision: 55778
2010-12-30 07:51:26 +00:00
Mike Blumenkrantz ab8ceec8eb Hey,
below is a patch to delete mempools in eina_quadtree_shutdown() (i 
currently can not commit).

Vincent


SVN revision: 55767
2010-12-28 13:22:12 +00:00
Carsten Haitzler 26158c9510 remove eina tests
SVN revision: 55637
2010-12-19 03:05:58 +00:00
Vincent Torri 6c81b349a4 remove warning
SVN revision: 55578
2010-12-16 07:45:12 +00:00
Carsten Haitzler c751d12c8b no long casts - just case to/from void * as needed. i dont see why we
needed any uintptr_t or long there.



SVN revision: 55569
2010-12-16 04:28:03 +00:00
Cedric BAIL 701cfebbed * eina: some time compiler are really stupid...
SVN revision: 55561
2010-12-15 11:56:50 +00:00
Cedric BAIL 72c9afd3cb * eina: fix typo.
SVN revision: 55560
2010-12-15 11:14:47 +00:00
Vincent Torri 7d368bd7a0 missing cast
SVN revision: 55487
2010-12-11 07:09:07 +00:00
Vincent Torri bd8506e727 warning--
SVN revision: 55486
2010-12-11 07:02:25 +00:00
Carsten Haitzler c6471b1e14 formatting fixups.
SVN revision: 55485
2010-12-11 04:05:52 +00:00
Carsten Haitzler 37a7c5bce9 fix void ptr math. odd that no warnings happened before with all my
warning flags on.



SVN revision: 55484
2010-12-11 03:57:05 +00:00
Carsten Haitzler 71def62b47 revert part of commit - broke compilation. no uintptr_t in linux
yeaders by default - likely breaks even more.



SVN revision: 55483
2010-12-11 03:44:33 +00:00
Vincent Torri e84f5357ff * make vc++ happy with ERR()
* use uintptr_t where needed.

Please someone check if the compilation is still good on linux (I'm on
Windows), to see if a header must be included for uintptr_t or not.

SVN revision: 55479
2010-12-11 00:45:26 +00:00
Vincent Torri 84b6c26d99 warning--
SVN revision: 55477
2010-12-11 00:41:31 +00:00
Vincent Torri 0d2cd096b4 warning--
SVN revision: 55476
2010-12-11 00:40:52 +00:00
Vincent Torri d1e8eafa53 warning--
SVN revision: 55475
2010-12-11 00:40:05 +00:00
Vincent Torri 560d9a3ab0 put EINA_MAGIC at the end of the structure
SVN revision: 55474
2010-12-11 00:39:28 +00:00
Gustavo Sverzut Barbieri ef5c356153 Use EINA_PATH_MAX where it makes sense.
All the access to Eina_File_Direct_Info::path should be using the
actual size (EINA_PATH_MAX) and not another constant (PATH_MAX).



SVN revision: 55403
2010-12-09 10:14:11 +00:00
Carsten Haitzler 9317a439fb and if i'm breaking shit... i may as well put it at the end, so if
size changes later to be bigger, existing code doesnt break (due to
the way this is meant to be accessed).



SVN revision: 55388
2010-12-09 02:55:08 +00:00
Carsten Haitzler 2382fe75ce ok - make it 8192.
SVN revision: 55387
2010-12-09 02:46:11 +00:00
Carsten Haitzler 8ed17348e9 spottied a stabilty/portability bug with PATH_MAx inside a public
header. fix. see comments.



SVN revision: 55386
2010-12-09 01:29:52 +00:00
Cedric BAIL 3e5887714b * eina: forgotten link.
SVN revision: 55380
2010-12-08 19:32:23 +00:00
Marco Trevisan (Treviño) bbc439bdb7 SVN revision: 3
Subject: [E-devel] [PATCH] eina share common check for node type

Hello, recentely I've been experiencing a lot of segfaults when running
an Elementary application which uses a genlist with some swallowed parts
in which I put some elm icons (png files).
When running it I often get crashes... Debugging it I found this:

=========
CRI<14207>: eina_share_common.c:561 _eina_share_common_node_from_str()
*** Eina Magic Check Failed !!!
    Input handle is wrong type
        Expected: 98761254 - Eina Stringshare Node
            Supplied: 6e657070 - (unknown)
            *** NAUGHTY PROGRAMMER!!!
            *** SPANK SPANK SPANK!!!
            *** Now go fix your code. Tut tut tut!
            
            
            //DEBUG: Node referencies 622869060 (slen: 1145307236)
            
            
            Program received signal SIGSEGV, Segmentation fault.
            eina_share_common_del (share=0x65c810, str=0x7ffff1219150
"5hhu %5hu '%
s'\n")
    at eina_share_common.c:858
    858        node->references--;
    =========
    
    So it seems that edje tries to delete an invalid eina_share_common
    string (is this a bug that should be fixed or is it
theme-dependent?),
and so the "node" pointer in eina share is not valid...

However eina never checks for its validity, so it seg-faults...
The attached patch fix this issue, setting the node to null when its
magic is not valid, and then always checking for its validity.

Is this fine?


Full stack trace:

#0  eina_share_common_del (share=0x65c810, str=0x7ffff1219150 "5hhu %5hu
'%s'\n")
    at eina_share_common.c:858
    #1  0x00007ffff120e047 in eina_stringshare_del (str=0x7ffff1219150
"5hhu
%5hu '%s'\n")
    at eina_stringshare.c:632
    #2  0x00007ffff1e1f7bc in _edje_text_recalc_apply (ed=0x95b900,
    ep=0x70c3a0, 
        params=0x70c500, chosen_desc=<value optimized out>) at
        edje_text.c:556
        #3  0x00007ffff1de402d in _edje_part_recalc (ed=0x95b900,
ep=0x70c3a0,
flags=3)
    at edje_calc.c:2007
    #4  0x00007ffff1de4d86 in _edje_recalc_do (ed=0x95b900) at
    edje_calc.c:268
    #5  0x00007ffff1e25c7d in edje_object_part_swallow (obj=<value
optimized
out>, 
    part=0x7fffe001484c "elm.swallow.icon", obj_swallow=0x7fffe0017860)
        at edje_util.c:2300
        #6  0x00007ffff1b5d5fc in _item_realize (it=0x7fffe0016ed0,
in=10,
calc=1)
    at elm_genlist.c:1489
    #7  0x00007ffff1b5db89 in _item_block_recalc (itb=0x95b6a0,
in=<value
optimized out>, 
    qadd=<value optimized out>, norender=<value optimized out>) at
    elm_genlist.c:1609
    #8  0x00007ffff1b5e329 in _queue_proecess (wd=0x721b70,
norender=<value
optimized out>)
    at elm_genlist.c:2425
    #9  0x00007ffff1b5e567 in _item_queue (wd=0x721b70, it=<value
optimized
out>)
    at elm_genlist.c:2476
    #10 0x00007ffff1b5ead9 in elm_genlist_item_append (obj=<value
optimized
out>, 
    itc=0x7ffff2977040, data=0x8fed90, parent=0x0,
    flags=ELM_GENLIST_ITEM_NONE, 
        func=<value optimized out>, func_data=0x0) at elm_genlist.c:2528
        
        [eina-share-common-del-check-for-node.patch  text/x-patch
(1.2KB)]
Index: src/lib/eina_share_common.c
===================================================================
--- src/lib/eina_share_common.c(revisione 55018)
+++ src/lib/eina_share_common.c(copia locale)
@@ -558,7 +558,7 @@
    const size_t offset = offsetof(Eina_Share_Common_Node, str);
     
         node = (Eina_Share_Common_Node *)(str - offset);
         -   EINA_MAGIC_CHECK_SHARE_COMMON_NODE(node, node_magic, );
         +   EINA_MAGIC_CHECK_SHARE_COMMON_NODE(node, node_magic, node
= NULL);
    return node;
     
         (void) node_magic; /* When magic are disable, node_magic is
unused, this remove a warning. */
@@ -821,6 +821,7 @@
 
     SHARE_COMMON_LOCK_BIG();
         node = _eina_share_common_node_from_str(str,
share->node_magic);
+   if (!node) return str;
    node->references++;
        DBG("str=%p refs=%u", str, node->references);
         
         @@ -847,6 +848,9 @@
             SHARE_COMMON_LOCK_BIG();
              
                  node = _eina_share_common_node_from_str(str,
share->node_magic);
+   if (!node)
+      return;
+
    slen = node->length;
        eina_share_common_population_del(share, slen);
            if (node->references > 1)
            @@ -901,6 +905,7 @@
                   return -1;
                    
                        node = _eina_share_common_node_from_str(str,
share->node_magic);
+   if (!node) return 0;
    return node->length;
     }
      


SVN revision: 55265
2010-12-05 03:14:03 +00:00
Cedric BAIL e031740d22 * eina: don't fail if we didn't enable thread support completly.
SVN revision: 55226
2010-12-03 21:50:50 +00:00
Cedric BAIL bf3d026f41 * eina: fix typos.
SVN revision: 55223
2010-12-03 18:46:49 +00:00
Cedric BAIL bf066c2390 * eina: fix typo.
SVN revision: 55212
2010-12-03 18:12:19 +00:00
Cedric BAIL 7ad0ae92b5 * eina: add forgotten header.
SVN revision: 55211
2010-12-03 18:02:51 +00:00
Cedric BAIL fb1c587dde * eina: fix gettimeofday usage.
SVN revision: 55197
2010-12-03 16:30:26 +00:00
Cedric BAIL cb402e2a5a * eina: we don't plan to provide ABI compatibility until 1.0.
This kind of trick are for after 1.0, if you really need you can
	just pick that patch.


SVN revision: 55075
2010-11-29 23:16:19 +00:00
Mike Blumenkrantz 269a6ab702 closes ticket 634
SVN revision: 55074
2010-11-29 23:14:35 +00:00
Cedric BAIL aaae4e223a * eina: eina_array_clean should be inlined from the beginning.
NOTE: to prevent ABI break, I added the old symbol in eina_abi.c.
	So binary/library using eina_array_clean should continue to work
	without any problem.


SVN revision: 55068
2010-11-29 18:32:30 +00:00
helen c508b793d5 eina_array_data_set can receives null to unset
Passing null to the second parameter is the only way to unset the data,
so it should not have EINA_ARG_NONNULL to the data parameter

SVN revision: 54997
2010-11-25 19:38:45 +00:00
helen be33a14270 Missing include in eina_inlist.c
Including eina_log.h in eina_inlist.c
Removing warning:
        warning: implicit declaration of function ‘EINA_LOG_ERR’
If you do not include it, and compile eina with safety checks disabled,
Evas and Elementary will not find the EINA_LOG_ERR symbol when
compiling

SVN revision: 54995
2010-11-25 19:00:59 +00:00
P Purkayastha fad048f1d2 From: P Purkayastha <ppurka@gmail.com>
Subject: Re: [e-users] eina: sandbox violation on emerge

On 11/21/2010 12:14 AM, P Purkayastha wrote:
> Hi,
> it seems eina is triggering a sandbox violation on emerge. Essentially
> it tries to remove a file present in / while installing. Seems to be
> something new added in revision r54731:
>
http://trac.enlightenment.org/e/changeset/54731/trunk/eina/src/modules/mp
> The build log is attached.

Replacing the $(controllerdir) with $(DESTDIR)$(controllerdir) makes 
portage happy, and the installation succeeds:

cd "$S/src/modules/mp"
find . -name Makefile.am -exec sed -i -e '/rm -f 
\$(controllerdir)/s/\$/\$(DESTDIR)\$/' {} \;



SVN revision: 54853
2010-11-23 07:05:43 +00:00