Enlightenment CVS committal

Author  : doursse
Project : e17
Module  : libs/evas

Dir     : e17/libs/evas/src/lib


Modified Files:
        main.c 


Log Message:
 * move evas_mempool from main.c to it's own file in data/ as it's only
   used by evas_list
 * add a header files for evas_cache, evas_path and evas_module
 * remove trailing spaces in evas_list.c

===================================================================
RCS file: /cvs/e/e17/libs/evas/src/lib/main.c,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -3 -r1.19 -r1.20
--- main.c      14 Mar 2008 16:49:47 -0000      1.19
+++ main.c      10 Jul 2008 16:38:54 -0000      1.20
@@ -207,184 +207,3 @@
      };
    return "<UNKNOWN>";
 }
-
-
-
-
-
-
-
-
-//#define NOPOOL
-
-typedef struct _Pool Pool;
-
-struct _Pool
-{
-   int   usage;
-   void *base;
-   Pool *prev, *next;
-};
-
-Pool *
-_evas_mp_pool_new(Evas_Mempool *pool)
-#ifdef NOPOOL
-{
-   static Pool thepool;
-   return &thepool;
-}
-#else
-{
-   Pool *p;
-   void **ptr;
-   int item_alloc, i;
-   
-   item_alloc = ((pool->item_size + sizeof(void *) - 1) / sizeof(void *)) * 
sizeof(void *);
-   p = malloc(sizeof(Pool) + (pool->pool_size * item_alloc));
-   ptr = (void **)(((unsigned char *)p) + sizeof(Pool));
-   p->usage = 0;
-   p->base = ptr;
-   for (i = 0; i < pool->pool_size - 1; i++)
-     {
-       *ptr = (void **)(((unsigned char *)ptr) + item_alloc);
-       ptr = *ptr;
-     }
-   *ptr = NULL;
-   return p;
-}
-#endif
-
-void
-_evas_mp_pool_free(Pool *p)
-#ifdef NOPOOL
-{
-}
-#else
-{
-   free(p);
-}
-#endif
-
-void *
-evas_mempool_malloc(Evas_Mempool *pool, int size)
-#ifdef NOPOOL
-{
-   return malloc(size);
-}
-#else
-{
-   Pool *p;
-   void *mem;
-   
-   for (p = pool->first; p; p = p->next) // look 4 pool from 2nd bucket on
-     {
-       if (p->base) // base is not NULL - has a free slot
-         {
-            if (p->prev)
-              {
-                 if (pool->last == p) pool->last = p->prev;
-                 p->prev->next = p->next;
-                 p->prev = NULL;
-                 p->next = pool->first;
-                 p->next->prev = p;
-                 pool->first = p;
-              }
-            break;
-         }
-     }
-   if (!p) // we have reached the end of the list - no free pools
-     {
-       p = _evas_mp_pool_new(pool);
-       if (!p) return NULL;
-       p->prev = NULL;
-       p->next = pool->first;
-       if (p->next) p->next->prev = p;
-       if (!pool->last) pool->last = p;
-       pool->first = p;
-     }
-   mem = p->base; // this points to the next free block - so take it
-   p->base = *((void **)mem); // base now points to the next free block
-   if (!p->base) // move to end - it just filled up
-     {
-       if (p->next)
-         {
-            if (p->prev) p->prev->next = p->next;
-            else pool->first = p->next;
-            p->next->prev = p->prev;
-            ((Pool *)pool->last)->next = p;
-            p->prev = pool->last;
-            p->next = NULL;
-            pool->last = p;
-         }
-     }
-   p->usage++;
-   pool->usage++;
-   return mem;
-}
-#endif
-
-void
-evas_mempool_free(Evas_Mempool *pool, void *ptr)
-#ifdef NOPOOL
-{
-   free(ptr);
-}
-#else
-{
-   Pool *p;
-   void *pmem;
-   int item_alloc, psize;
-   
-   item_alloc = ((pool->item_size + sizeof(void *) - 1) / sizeof(void *)) * 
sizeof(void *);
-   psize = item_alloc * pool->pool_size;
-   for (p = (Pool *)(pool->first); p; p = p->next) // look 4 pool
-     {
-       pmem = (void *)(((unsigned char *)p) + sizeof(Pool)); // pool mem base
-       if ((ptr >= pmem) && ((unsigned char *)ptr < (((unsigned char *)pmem) + 
psize))) // is it in pool mem?
-         {
-            *((void **)ptr) = p->base; // freed node points to prev free node
-            p->base = ptr; // next free node is now the one we freed
-            p->usage--;
-            pool->usage--;
-            if (p->usage == 0) // free bucket
-              {
-                 if (p->prev) p->prev->next = p->next;
-                 if (p->next) p->next->prev = p->prev;
-                 if (pool->last == p) pool->last = p->prev;
-                 if (pool->first == p) pool->first = p->next;
-                 _evas_mp_pool_free(p);
-              }
-            else
-              {
-                 if (p->prev) // if not the first - move to front
-                   {
-                      p->prev->next = p->next;
-                      if (p->next) p->next->prev = p->prev;
-                      if (pool->last == p) pool->last = p->prev;
-                      p->prev = NULL;
-                      p->next = pool->first;
-                      p->next->prev = p;
-                      pool->first = p;
-                   }
-              }
-            break;
-         }
-     }
-}
-#endif
-
-void *
-evas_mempool_calloc(Evas_Mempool *pool, int size)
-#ifdef NOPOOL
-{
-   return calloc(1, size);
-}
-#else   
-{
-   void *mem;
-   
-   mem = evas_mempool_malloc(pool, size);
-   memset(mem, 0, size);
-   return mem;
-}
-#endif   



-------------------------------------------------------------------------
Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW!
Studies have shown that voting for your favorite open source project,
along with a healthy diet, reduces your potential for chronic lameness
and boredom. Vote Now at http://www.sourceforge.net/community/cca08
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to