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