Commit Graph

1297 Commits

Author SHA1 Message Date
Vincent Torri 9e94bc2ca9 put visual studio files outside the libraries directory
SVN revision: 56686
2011-02-03 19:51:49 +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
Carsten Haitzler 1bd97ec119 geeze. get year right! spank
SVN revision: 56378
2011-01-29 13:24:22 +00:00
Carsten Haitzler 0cb7271e97 aaaah farg. forgot the changelogs. fix.
SVN revision: 56359
2011-01-29 03:54:33 +00:00
Carsten Haitzler 96caa0a63b svn goes to x.x.999.svnrev now. :)
SVN revision: 56355
2011-01-29 03:34:44 +00:00
Carsten Haitzler 4f5ec3a5bd 1.0 version magic. now leave these projects the hell alone in svn
until we have branches.



SVN revision: 56352
2011-01-29 03:05:22 +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 2b2aef3744 add guards in config.h to avoid multiple inclusions
SVN revision: 55937
2011-01-06 18:13:54 +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
Cedric BAIL e6b5488d1d * eina: also update ldflags instead of cflags.
SVN revision: 55555
2010-12-14 16:20:48 +00:00
Vincent Torri d8f05983b7 add eina_sched.c to the vcproj file
SVN revision: 55524
2010-12-12 22:42:20 +00:00
Vincent Torri 2ce2e79087 update vcproj file
SVN revision: 55495
2010-12-11 13:13:10 +00:00
Vincent Torri 063cfb735b don't redefine macro when using Visual Studio
SVN revision: 55494
2010-12-11 13:11:59 +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 f39a7b7fcd update Visual Studio files
SVN revision: 55478
2010-12-11 00:42:29 +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
Sebastian Dransfeld 35c165d2e4 Fix me as author
SVN revision: 55438
2010-12-10 06:05:35 +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 602241b004 * eina,eet,embryo,evas,ecore,edje,efreet,e_dbus,eeze: beta3 !
SVN revision: 55238
2010-12-04 00:50:58 +00:00
Cedric BAIL 6f973acf31 * eina: forgotten file.
SVN revision: 55237
2010-12-04 00:46:01 +00:00
Cedric BAIL c7f47e4660 * eina: define PATH_MAX when needed.
SVN revision: 55232
2010-12-03 23:04:26 +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 5d663ce49b * eina, eet: fix coverage generation with newer lcov.
SVN revision: 55070
2010-11-29 18:40:26 +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
Vincent Torri 73aad0242d whitespace --
SVN revision: 54856
2010-11-23 07:38:46 +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
Cedric BAIL 9fa5bbcc82 * eina: fix pthread library and flags typos.
Patch by Fabien Romano <fabien@openbsd.org>.


SVN revision: 54753
2010-11-20 22:14:57 +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 70e488feff * efl: beta2 !
SVN revision: 54507
2010-11-12 16:01:55 +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
Carsten Haitzler caa1d813f4 no more debian dir in our svn - debian now handles this tehmselves.
SVN revision: 54287
2010-11-08 05:48:28 +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 2249122a54 better removal for EINA_ARG_NONNULL
SVN revision: 54225
2010-11-06 12:44:25 +00:00
Vincent Torri 4a5f42c22c remove EAPI from documentation
SVN revision: 54224
2010-11-06 12:41:37 +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
Vincent Torri eccd70139b formatting, whitespaces--
SVN revision: 54221
2010-11-06 07:37:52 +00:00
Cedric BAIL 57997619c9 * eina: fix eina_tiler_iterator_new API to be consistent with the
rest of the iterator API and usage.

	WARNING !!! THIS IS REALLY BAD BUT FOR CONSISTENCY, I THINK THAT THIS
	API BREAK WAS NEEDED. IN FACT IT'S MORE AN ABI BREAK AS IT WILL NOT
	TRIGGER WARNING OR ERROR IN CURRENT PROGRAM USING
	eina_tiler_iterator_new SO YOU ARE WARNED !

	Reported by playya <frederik.sdun@googlemail.com>.


SVN revision: 54153
2010-11-04 14:53:00 +00:00
Cedric BAIL 64aa07c793 * eina: fix typos.
SVN revision: 54127
2010-11-03 17:32:07 +00:00
Cedric BAIL c40d642b02 * eina: fix possible race condition between opendir/readdir_r/pathconf.
See http://womble.decadent.org.uk/readdir_r-advisory.html .


SVN revision: 54117
2010-11-03 10:19:55 +00:00
Cedric BAIL 19bce347b0 * eina: use fstatat when available.
Maybe we could add an eina_file_lstat_ls.


SVN revision: 54108
2010-11-02 17:47:19 +00:00
Cedric BAIL 17973f336e * eina: add eina_file_stat_ls and guaranty that eina_file_direct_ls
will not call anything else than readdir_r.


SVN revision: 54105
2010-11-02 17:07:04 +00:00
Cedric BAIL eb4cd21f0c * eina: remove dirent so apps don't rely on non portable code.
SVN revision: 54103
2010-11-02 15:11:05 +00:00
Carsten Haitzler a08524ea65 aaagh. dirent... bad! too many things in dirent that are not portable
- d_type for example... so put that into the direct_info struct and
handle the compat in eina.



SVN revision: 54015
2010-10-30 05:48:07 +00:00
Tiago Rezende Campos Falcao fd1c8603ee Removing dead assignment.
Reported in:
http://people.profusion.mobi/~lfelipe/static_analysis/efl/efl-53990/eina/2010-10-29-1/report-w3Z1oM.html#EndPath

SVN revision: 53999
2010-10-29 17:19:19 +00:00
Tiago Rezende Campos Falcao 1e78927ed1 Remove possivle null pointer.
Reported in:
http://people.profusion.mobi/~lfelipe/static_analysis/efl/efl-53990/eina/2010-10-29-1/report-mqFB7z.html#EndPath

SVN revision: 53998
2010-10-29 17:19:15 +00:00
Cedric BAIL 2794a9afc9 * eina: fix usage of eina_file_*ls in thread.
SVN revision: 53948
2010-10-28 09:59:27 +00:00
Carsten Haitzler 788a3357e9 dont free null ptrs eh?
SVN revision: 53944
2010-10-28 03:46:52 +00:00
Cedric BAIL 4d36ee36e2 * eina: make eina_file_ls and eina_file_direct_ls container be DIR*.
SVN revision: 53862
2010-10-25 12:25:24 +00:00