From 08cf9b09f53f999cad569aad9547edf6d2bf819c Mon Sep 17 00:00:00 2001 From: Ryan Kavanagh Date: Mon, 8 Jun 2020 22:04:42 -0400 Subject: Fix parsing errors involving crlf vs eol --- gemini/parseCommon.ml | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'gemini/parseCommon.ml') diff --git a/gemini/parseCommon.ml b/gemini/parseCommon.ml index 999cd83..3df2c55 100644 --- a/gemini/parseCommon.ml +++ b/gemini/parseCommon.ml @@ -12,7 +12,9 @@ sig val skip_spaces : unit Angstrom.t - val take_till_cr : string Angstrom.t + val take_till_crlf : string Angstrom.t + + val take_till_eol : string Angstrom.t end module ParseCommon : PARSE_COMMON = @@ -39,5 +41,11 @@ struct let skip_spaces = skip_while is_whitespace - let take_till_cr = take_till is_cr <* string "\r\n" + let take_till_crlf = take_till is_cr <* string "\r\n" + + let take_till_eol = + let is_eol = function + | '\n' | '\r' -> true + | _ -> false in + take_till is_eol <* end_of_line end -- cgit v1.2.3