annotate tests/fromString.ur @ 2297:6d56080f495c

Fix a read-after-free bug using a timestamp check
author Adam Chlipala <adam@chlipala.net>
date Thu, 19 Nov 2015 13:18:58 -0500
parents 550100a44cca
children
rev   line source
adamc@289 1 fun s2i s =
adamc@290 2 case read _ s of
adamc@288 3 None => 0
adamc@288 4 | Some n => n
adamc@288 5
adamc@289 6 fun s2f s =
adamc@290 7 case read _ s of
adamc@289 8 None => 0.0
adamc@289 9 | Some n => n
adamc@289 10
adamc@291 11 fun s2s s =
adamc@291 12 case read _ s of
adamc@291 13 None => "Error"
adamc@291 14 | Some s => s
adamc@291 15
adamc@289 16 fun s2b s =
adamc@290 17 case read _ s of
adamc@289 18 None => False
adamc@289 19 | Some b => b
adamc@289 20
adamc@288 21 fun main () : transaction page = return <html><body>
adamc@289 22 Error = {cdata (show _ (s2i "Error"))}<br/>
adamc@289 23 3 = {cdata (show _ (s2i "+3"))}<br/>
adamc@289 24 <br/>
adamc@289 25 Error = {cdata (show _ (s2f "Error"))}<br/>
adamc@289 26 98.76 = {cdata (show _ (s2f "98.76"))}<br/>
adamc@289 27 <br/>
adamc@289 28 Error = {cdata (show _ (s2b "Error"))}<br/>
adamc@289 29 False = {cdata (show _ (s2b "false"))}<br/>
adamc@289 30 True = {cdata (show _ (s2b "trUE"))}<br/>
adamc@291 31 <br/>
adamc@291 32 Hi = {cdata (s2s "Hi")}<br/>
adamc@288 33 </body></html>