From 226bc8ccf37c3d3fac1d50d79d808745f0566829 Mon Sep 17 00:00:00 2001 From: tsauerbeck Date: Mon, 11 Oct 2004 20:48:32 +0000 Subject: [PATCH] String concatenation ("foo""bar" -> "foobar") now works when used in arguments to PART/PROGRAM/IMAGE lookups, e.g. PART:"foo""bar" will look up the part id of "foobar". SVN revision: 11836 --- legacy/edje/src/bin/edje_cc_out.c | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/legacy/edje/src/bin/edje_cc_out.c b/legacy/edje/src/bin/edje_cc_out.c index ff22340059..0f5243e0ca 100644 --- a/legacy/edje/src/bin/edje_cc_out.c +++ b/legacy/edje/src/bin/edje_cc_out.c @@ -848,7 +848,14 @@ data_process_string(Edje_Part_Collection *pc, char *prefix, char *s, void (*func if (!inesc) { if (*p == '\\') inesc = 1; - else if (*p == '\"') break; + else if (*p == '\"') + { + /* string concatenation, see below */ + if (*(p + 1) != '\"') + break; + else + p++; + } } else inesc = 0; @@ -872,8 +879,14 @@ data_process_string(Edje_Part_Collection *pc, char *prefix, char *s, void (*func if (*pp == '\\') inesc = 1; else if (*pp == '\"') { - name[i] = 0; - break; + /* concat strings like "foo""bar" to "foobar" */ + if (*(pp + 1) == '\"') + pp++; + else + { + name[i] = 0; + break; + } } else {