private string ParsePlainTextInFlowMoreLine(out bool success)
{
int errorCount = Errors.Count;
StringBuilder text = new StringBuilder();
int start_position = position;
ParseIgnoredBlank(out success);
string str = ParseLineFolding(out success);
if (success) { text.Append(str); }
else
{
Error("Failed to parse LineFolding of PlainTextInFlowMoreLine.");
position = start_position;
return text.ToString();
}
ParseIndent(out success);
if (!success)
{
Error("Failed to parse Indent of PlainTextInFlowMoreLine.");
position = start_position;
return text.ToString();
}
ParseIgnoredSpace(out success);
int counter = 0;
while (true)
{
ErrorStatck.Push(errorCount); errorCount = Errors.Count;
while (true)
{
str = ParsePlainTextCharInFlow(out success);
if (success)
{
ClearError(errorCount);
text.Append(str);
break;
}
str = ParseSpacedPlainTextCharInFlow(out success);
if (success)
{
ClearError(errorCount);
text.Append(str);
break;
}
break;
}
errorCount = ErrorStatck.Pop();
if (!success) { break; }
counter++;
}
if (counter > 0) { success = true; }
if (!success)
{
Error("Failed to parse ((PlainTextCharInFlow / SpacedPlainTextCharInFlow))+ of PlainTextInFlowMoreLine.");
position = start_position;
}
if (success) { ClearError(errorCount); }
return text.ToString();
}