mirror of
https://github.com/RPCS3/rpcs3.git
synced 2025-07-06 06:51:26 +12:00
Fixed opening newline bug for block scalars.
This commit is contained in:
parent
4c5a488f68
commit
f7358701f2
1 changed files with 10 additions and 7 deletions
|
@ -18,7 +18,7 @@ namespace YAML
|
|||
// and different places in the above flow.
|
||||
std::string ScanScalar(Stream& INPUT, ScanScalarParams& params)
|
||||
{
|
||||
bool foundNonEmptyLine = false;
|
||||
bool foundNonEmptyLine = false, pastOpeningBreak = false;
|
||||
bool emptyLine = false, moreIndented = false;
|
||||
std::string scalar;
|
||||
params.leadingSpaces = false;
|
||||
|
@ -39,6 +39,7 @@ namespace YAML
|
|||
}
|
||||
|
||||
foundNonEmptyLine = true;
|
||||
pastOpeningBreak = true;
|
||||
|
||||
// escaped newline? (only if we're escaping on slash)
|
||||
if(params.escape == '\\' && Exp::EscBreak.Matches(INPUT)) {
|
||||
|
@ -108,15 +109,17 @@ namespace YAML
|
|||
bool nextEmptyLine = Exp::Break.Matches(INPUT);
|
||||
bool nextMoreIndented = (INPUT.peek() == ' ');
|
||||
|
||||
// TODO: for block scalars, we always start with a newline, so we should fold OR keep that
|
||||
|
||||
if(params.fold && !emptyLine && !nextEmptyLine && !moreIndented && !nextMoreIndented)
|
||||
scalar += " ";
|
||||
else
|
||||
scalar += "\n";
|
||||
// for block scalars, we always start with a newline, so we should ignore it (not fold or keep)
|
||||
if(pastOpeningBreak) {
|
||||
if(params.fold && !emptyLine && !nextEmptyLine && !moreIndented && !nextMoreIndented)
|
||||
scalar += " ";
|
||||
else
|
||||
scalar += "\n";
|
||||
}
|
||||
|
||||
emptyLine = nextEmptyLine;
|
||||
moreIndented = nextMoreIndented;
|
||||
pastOpeningBreak = true;
|
||||
|
||||
// are we done via indentation?
|
||||
if(!emptyLine && INPUT.column < params.indent) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue