Hi,

0002-_eina_file_escape-take-care-of.patch
  takes care of '/./' and breaks loop on '/..$'

0001-sanitize-eina-benchmark-compilation.patch
  cleans up and fixes 'make benchmark'
  saddly eina_bench stills segv and as I can't find any install target for
  it, and I'm not a kung-auto-foo warrior, I can't gdb it.
  could someone provide a benchmark-install target or point me to the
  direction I missed?

p.s.
  fucking \t !!

regards
Jérémy
>From d70075b3461101a97a8ffdc1f31158a8fb9911d8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=A9r=C3=A9my=20Zurcher?= <jer...@asynk.ch>
Date: Sat, 17 Nov 2012 23:52:45 +0100
Subject: [PATCH 1/2] sanitize eina benchmark compilation

---
 efl/src/benchmarks/eina/Ecore_Data.h               |  2 +-
 efl/src/benchmarks/eina/ecore_strings.c            |  9 ++++++---
 .../benchmarks/eina/eina_bench_stringshare_e17.c   | 23 +++++++++++-----------
 efl/src/benchmarks/eina/evas_mempool.c             |  2 +-
 4 files changed, 20 insertions(+), 16 deletions(-)

diff --git a/efl/src/benchmarks/eina/Ecore_Data.h 
b/efl/src/benchmarks/eina/Ecore_Data.h
index 50d42f1..415efc7 100644
--- a/efl/src/benchmarks/eina/Ecore_Data.h
+++ b/efl/src/benchmarks/eina/Ecore_Data.h
@@ -416,7 +416,7 @@ struct _ecore_string
 };
 
 EAPI int         ecore_string_init();
-EAPI void        ecore_string_shutdown();
+EAPI int         ecore_string_shutdown();
 EAPI const char *ecore_string_instance(const char *string);
 EAPI void        ecore_string_release(const char *string);
 
diff --git a/efl/src/benchmarks/eina/ecore_strings.c 
b/efl/src/benchmarks/eina/ecore_strings.c
index d76e4c5..15deae6 100644
--- a/efl/src/benchmarks/eina/ecore_strings.c
+++ b/efl/src/benchmarks/eina/ecore_strings.c
@@ -33,7 +33,7 @@ static int ecore_string_init_count = 0;
  * @return  Zero on failure, non-zero on successful initialization.
  */
 EAPI int
-ecore_string_init()
+ecore_string_init(void)
 {
    /*
     * No strings have been loaded at this point, so create the hash
@@ -138,9 +138,11 @@ ecore_string_hash_dump_stats(void)
 
 /**
  * Shutdown the ecore string internal structures
+ * @return 0 when the module is completely shut down, 1 or
+ * greater otherwise.
  */
-EAPI void
-ecore_string_shutdown()
+EAPI int
+ecore_string_shutdown(void)
 {
    --ecore_string_init_count;
    if (!ecore_string_init_count)
@@ -148,6 +150,7 @@ ecore_string_shutdown()
         ecore_hash_destroy(ecore_strings);
         ecore_strings = NULL;
      }
+   return ecore_string_init_count;
 }
 
 static void
diff --git a/efl/src/benchmarks/eina/eina_bench_stringshare_e17.c 
b/efl/src/benchmarks/eina/eina_bench_stringshare_e17.c
index 6ab0a80..505374d 100644
--- a/efl/src/benchmarks/eina/eina_bench_stringshare_e17.c
+++ b/efl/src/benchmarks/eina/eina_bench_stringshare_e17.c
@@ -57,10 +57,10 @@ static Eina_Stringshare_Test eina_str = {
 
 static Eina_Stringshare_Test evas_str = {
    "evas",
-/*  evas_stringshare_init, */
+   NULL,
    evas_stringshare_add,
-   evas_stringshare_del
-/*  evas_stringshare_shutdown */
+   evas_stringshare_del,
+   NULL
 };
 
 static Eina_Stringshare_Test ecore_str = {
@@ -71,7 +71,7 @@ static Eina_Stringshare_Test ecore_str = {
    ecore_string_shutdown
 };
 
-static Eina_Stringshare_Test *str[] = {
+static Eina_Stringshare_Test *tests[] = {
    &eina_str,
    &evas_str,
    &ecore_str,
@@ -87,16 +87,17 @@ eina_bench_e17_stringshare(Eina_Stringshare_Test *str)
 
    eina_counter_start(cnt);
 
-   str->init();
+   if (str->init)
+     str->init();
 
-#include "strlog"
+//#include "strlog"
 
-   str->shutdown();
+   if (str->shutdown)
+     str->shutdown();
 
    eina_counter_stop(cnt, 1);
 
-   fprintf(stderr, "For `%s`:\n", str->name);
-   eina_counter_dump(cnt);
+   fprintf(stderr, "For `%s`:\n%s\n", str->name,eina_counter_dump(cnt));
 
    eina_counter_free(cnt);
 }
@@ -110,8 +111,8 @@ eina_bench_e17(void)
 
    eina_init();
 
-   for (i = 0; str[i]; ++i)
-      eina_bench_e17_stringshare(str[i]);
+   for (i = 0; tests[i]; ++i)
+      eina_bench_e17_stringshare(tests[i]);
 
    eina_shutdown();
 #endif
diff --git a/efl/src/benchmarks/eina/evas_mempool.c 
b/efl/src/benchmarks/eina/evas_mempool.c
index 921b7df..fbc48fa 100644
--- a/efl/src/benchmarks/eina/evas_mempool.c
+++ b/efl/src/benchmarks/eina/evas_mempool.c
@@ -56,7 +56,7 @@ _evas_mp_pool_free(Pool *p)
 }
 
 void *
-evas_mempool_malloc(Evas_Mempool *pool, int size EINA_UNUSED)
+evas_mempool_malloc(Evas_Mempool *pool, int size)
 {
 #ifdef NOPOOL
    return malloc(size);
-- 
1.8.0

>From ea44ff6a4f1d37c92f311cbd3f8dc44a6ee3ee07 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=A9r=C3=A9my=20Zurcher?= <jer...@asynk.ch>
Date: Sun, 18 Nov 2012 00:09:53 +0100
Subject: [PATCH 2/2] _eina_file_escape take care of /./

---
 efl/src/lib/eina/eina_file.c | 14 ++++++++++++--
 1 file changed, 12 insertions(+), 2 deletions(-)

diff --git a/efl/src/lib/eina/eina_file.c b/efl/src/lib/eina/eina_file.c
index 1c0253b..663a474 100644
--- a/efl/src/lib/eina/eina_file.c
+++ b/efl/src/lib/eina/eina_file.c
@@ -551,8 +551,7 @@ _eina_file_escape(const char *path, int *length)
                   {
                      len -= p + 2 - q;
                      result[len] = '\0';
-                     q = p;
-                     ++p;
+                      break;
                   }
                 else
                   {
@@ -560,6 +559,17 @@ _eina_file_escape(const char *path, int *length)
                      ++p;
                   }
            }
+        else
+          if (p[1] == '.'
+              && p[2] == '/')
+            {
+               // remove '/./'
+               len -= 2;
+               memmove(p, p + 2, len - (p - result));
+               result[len] = '\0';
+               q = p;
+               ++p;
+            }
          else
            {
               q = p;
-- 
1.8.0

------------------------------------------------------------------------------
Monitor your physical, virtual and cloud infrastructure from a single
web console. Get in-depth insight into apps, servers, databases, vmware,
SAP, cloud infrastructure, etc. Download 30-day Free Trial.
Pricing starts from $795 for 25 servers or applications!
http://p.sf.net/sfu/zoho_dev2dev_nov
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to