The plot thickens:

diff --git a/server/modules/tags/rxmltags.pike 
b/server/modules/tags/rxmltags.pike
index d1515cc..cd8bdd7 100644
--- a/server/modules/tags/rxmltags.pike
+++ b/server/modules/tags/rxmltags.pike
@@ -61,6 +61,10 @@ private Regexp.PCRE.Plain rxml_var_splitter =
 
 private string fix_rxml_vars (string code, RXML.Context ctx)
 {
+Regexp.PCRE.Plain a =
+  Regexp.PCRE.StudiedWidestring("abcdef");
+werror("SRBa %O %O %O\n",String.width(code),code,a->split("abcdefghi"));
+werror("SRBb %O\n",a->split(code));
   string res = "";
   while (array split = rxml_var_splitter->split (code)) {
     res += sprintf ("%s(index(%{%O,%}))",

Results in output of:

(numerous SRBa/SRBb pairs that did work, and then)

11:30:44  : SRBa 8 "64/2" ({ /* 1 element */
 0m 4.8s  :     0
          : })
          : SRBb 0
          : SRBa 8 "0-32*32" ({ /* 1 element */
          :     0
11:30:44  : })
 0m 4.8s  : Internal server error: Bad argument 1 to exec().
          : Unknown program: exec("0-32*32",UNDEFINED)
          : /usr/local/pike/8.0.31/lib/modules/____Regexp_PCRE.so:1: object("abc
def")->exec("0-32*32",UNDEFINED)
          : /usr/local/pike/8.0.31/lib/modules/_Regexp_PCRE.pmod:381: object("ab
cdef")->split2("0-32*32",UNDEFINED)
          : /usr/local/pike/8.0.31/lib/modules/_Regexp_PCRE.pmod:89: object("abc
def")->split("0-32*32",UNDEFINED)

I'm not quite sure what PCRE doesn't like about the passed string, it
seems like a normal 8-bit wide string as good as any.
-- 
Stephen.

Reply via email to