# HG changeset patch # User Adam Chlipala # Date 1305234853 14400 # Node ID aa2398e5830693e7719555c9c75e78d8469d33df # Parent d674fb9499c4c4f88ea688ee96385d22bba054f7 Escape less-than in JavaScript strings diff -r d674fb9499c4 -r aa2398e58306 src/c/urweb.c --- a/src/c/urweb.c Fri May 06 20:51:40 2011 -0430 +++ b/src/c/urweb.c Thu May 12 17:14:13 2011 -0400 @@ -1380,6 +1380,10 @@ strcpy(s2, "\\\\"); s2 += 2; break; + case '<': + strcpy(s2, "\\074"); + s2 += 4; + break; default: if (isprint((int)c) || c >= 128) *s2++ = c; @@ -1417,6 +1421,10 @@ strcpy(s2, "\\\\"); s2 += 2; break; + case '<': + strcpy(s2, "\\074"); + s2 += 4; + break; default: if (isprint((int)c) || c >= 128) *s2++ = c; @@ -1451,6 +1459,10 @@ strcpy(s2, "\\\\"); s2 += 2; break; + case '<': + strcpy(s2, "\\074"); + s2 += 4; + break; default: if (isprint((int)c) || c >= 128) *s2++ = c; diff -r d674fb9499c4 -r aa2398e58306 tests/treeDyn.ur --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/treeDyn.ur Thu May 12 17:14:13 2011 -0400 @@ -0,0 +1,18 @@ +table t : {Id : int, Parent : option int} + +fun recurse (root : option int) = + queryX' (SELECT * FROM t WHERE {eqNullable' (SQL t.Parent) root}) + (fn r => + children <- recurse (Some r.T.Id); + (*s <- source False;*) + return + HI{children}BYE + (*else + return *)}/> + ) + +fun main () = + x <- recurse None; + return {x} diff -r d674fb9499c4 -r aa2398e58306 tests/treeDyn.urp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/treeDyn.urp Thu May 12 17:14:13 2011 -0400 @@ -0,0 +1,4 @@ +database dbname=treeDyn +sql treeDyn.sql + +treeDyn diff -r d674fb9499c4 -r aa2398e58306 tests/treeDyn.urs --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/treeDyn.urs Thu May 12 17:14:13 2011 -0400 @@ -0,0 +1,1 @@ +val main : {} -> transaction page