diff options
Diffstat (limited to 'portal/tcp')
-rw-r--r-- | portal/tcp/portal.ml | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/portal/tcp/portal.ml b/portal/tcp/portal.ml index 72074a5..f3c47e4 100644 --- a/portal/tcp/portal.ml +++ b/portal/tcp/portal.ml @@ -85,11 +85,9 @@ let socket_to_stream (sock : socket) = (* This is gross, but it doesn't matter because TCP does buffering. *) let+ _ = Lwt_unix.write_string sock (Char.escaped c) 0 1 in () and xml_stream, xml_push = Lwt_stream.create () - in let push msg = - let none () = xml_push None - and some fragments () = - Markup.iter (fun f -> xml_push (Some f)) fragments - in Option.fold ~none ~some msg () + in let push = function + | None -> xml_push None + | Some signals -> Markup.iter (fun f -> xml_push (Some f)) signals and report loc err = raise (MalformedStanza (loc, err)) in let open Markup_lwt in let stream = raw_stream |