From a5cd75cb7e31e7c3bdbd9f417cd590e29855a629 Mon Sep 17 00:00:00 2001 From: Yorick Peterse Date: Tue, 17 Feb 2015 09:37:38 +0100 Subject: [PATCH] Removed useless string allocs from the XML parser. --- lib/oga/xml/parser.rll | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/lib/oga/xml/parser.rll b/lib/oga/xml/parser.rll index e55a7f6..bb584ef 100644 --- a/lib/oga/xml/parser.rll +++ b/lib/oga/xml/parser.rll @@ -212,12 +212,18 @@ string_squote_follow ; string_body - = T_STRING_BODY string_body_follow { val[0] + val[1] } + = T_STRING_BODY string_body_follow + { + val[1] ? val[0] + val[1] : val[0] + } ; string_body_follow - = T_STRING_BODY string_body_follow { val[0] + val[1] } - | _ { '' } + = T_STRING_BODY string_body_follow + { + val[1] ? val[0] + val[1] : val[0] + } + | _ { nil } ; %inner