Commit Graph

1127 Commits

Author SHA1 Message Date
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
Cedric BAIL 5812f44f08 * eina: make -C doesn't exist on OpenBSD.
Patch from the OpenBSD team :
              Fabien Romano <fabien@openbsd.org>
              Jonathan Armani <armani@opensbd.org>



SVN revision: 54761
2010-11-21 11:03:53 +00:00
Cedric BAIL 8d85e48480 * eina: forgotten benchmark file.
Thanks to the OpenBSD team :
              Fabien Romano <fabien@openbsd.org>
              Jonathan Armani <armani@opensbd.org>


SVN revision: 54760
2010-11-21 10:58:57 +00:00
Cedric BAIL 0d5e9175bf * eina: use available mempool.
Patch from the OpenBSD team :
	      Fabien Romano <fabien@openbsd.org>
	      Jonathan Armani <armani@opensbd.org>	      


SVN revision: 54759
2010-11-21 10:54:26 +00:00
Vincent Torri 4f358c2c58 remove useless .la file
SVN revision: 54731
2010-11-20 00:03:55 +00:00
Mike Blumenkrantz 249a42185d more descriptive error message for inlist_remove when item is not an inlist
SVN revision: 54711
2010-11-19 05:43:28 +00:00
Mike Blumenkrantz 28a0b763d2 fix compile warnings without using private functions
SVN revision: 54577
2010-11-16 03:04:55 +00:00
Mike Blumenkrantz 5c4f02671a fix some compile warnings
SVN revision: 54570
2010-11-15 19:42:00 +00:00
Cedric BAIL 759d4efaec * eina: little doxy fix.
Thanks to kuri <kuri@paranoia.abuser.eu>


SVN revision: 54398
2010-11-10 10:54:53 +00:00
Vincent Torri d0458b87eb cosmetic: compile the files in alphabetic order
SVN revision: 54253
2010-11-06 23:40:21 +00:00
Vincent Torri b4571378c2 and add file
SVN revision: 54251
2010-11-06 21:01:36 +00:00
Vincent Torri 899983412b * port eina_file_*_ls() on Windows and put the code in another file
* on Windows eina_file_stat_ls() is the same that eina_file_direct_ls()

SVN revision: 54250
2010-11-06 21:00:58 +00:00
Vincent Torri 8fa9c4a7ce add doxygen doc
SVN revision: 54249
2010-11-06 20:38:41 +00:00
Vincent Torri 38c55d2170 remove Eina_Matrixsparse_Item_Cell and Eina_Matrixsparse_Item_Row
as they are used absolutely nowhere.


SVN revision: 54226
2010-11-06 12:50:09 +00:00
Vincent Torri 7ee0e4655b * improve doc
* remove eina_binshare_init() and eina_binshare_shutdown()
   from eina_binshare.h as they must not be exported


SVN revision: 54223
2010-11-06 12:34:55 +00:00