lib: fix for #1001 - empty field assignment consumes next line

This commit is contained in:
Dmitry Astapov 2019-10-12 23:35:57 +01:00
parent 1acebe1493
commit f108b52171

View File

@ -554,8 +554,9 @@ fieldassignmentp :: CsvRulesParser (JournalFieldName, FieldTemplate)
fieldassignmentp = do fieldassignmentp = do
lift $ dbgparse 3 "trying fieldassignmentp" lift $ dbgparse 3 "trying fieldassignmentp"
f <- journalfieldnamep f <- journalfieldnamep
assignmentseparatorp v <- choiceInState [ assignmentseparatorp >> fieldvalp
v <- fieldvalp , lift eolof >> return ""
]
return (f,v) return (f,v)
<?> "field assignment" <?> "field assignment"
@ -594,12 +595,9 @@ journalfieldnames =
assignmentseparatorp :: CsvRulesParser () assignmentseparatorp :: CsvRulesParser ()
assignmentseparatorp = do assignmentseparatorp = do
lift $ dbgparse 3 "trying assignmentseparatorp" lift $ dbgparse 3 "trying assignmentseparatorp"
choice [ _ <- choiceInState [ lift (skipMany spacenonewline) >> char ':' >> lift (skipMany spacenonewline)
-- try (lift (skipMany spacenonewline) >> oneOf ":="), , lift (skipSome spacenonewline)
try (lift (skipMany spacenonewline) >> char ':'), ]
spaceChar
]
_ <- lift (skipMany spacenonewline)
return () return ()
fieldvalp :: CsvRulesParser String fieldvalp :: CsvRulesParser String