Fixed doc start/end

This commit is contained in:
Jesse Beder
2012-05-22 16:53:40 -05:00
parent bc884061e2
commit 2c2b788391
3 changed files with 19 additions and 1 deletions

View File

@@ -181,6 +181,8 @@ namespace YAML
if(m_stream.col() > 0) if(m_stream.col() > 0)
m_stream << "\n"; m_stream << "\n";
m_stream << "---\n"; m_stream << "---\n";
m_pState->StartedDoc();
} }
// EmitEndDoc // EmitEndDoc
@@ -313,7 +315,7 @@ namespace YAML
void Emitter::PrepareTopNode(EmitterNodeType::value child) void Emitter::PrepareTopNode(EmitterNodeType::value child)
{ {
if(m_pState->CurGroupChildCount() > 0 && m_stream.pos() > 0) { if(m_pState->CurGroupChildCount() > 0 && m_stream.col() > 0) {
if(child != EmitterNodeType::None) if(child != EmitterNodeType::None)
EmitBeginDoc(); EmitBeginDoc();
} }

View File

@@ -111,6 +111,20 @@ namespace YAML
return EmitterNodeType::None; return EmitterNodeType::None;
} }
void EmitterState::StartedDoc()
{
m_hasAnchor = false;
m_hasTag = false;
m_hasNonContent = false;
}
void EmitterState::EndedDoc()
{
m_hasAnchor = false;
m_hasTag = false;
m_hasNonContent = false;
}
void EmitterState::StartedScalar() void EmitterState::StartedScalar()
{ {
StartedNode(); StartedNode();

View File

@@ -39,6 +39,8 @@ namespace YAML
void SetNonContent(); void SetNonContent();
void SetLongKey(); void SetLongKey();
void ForceFlow(); void ForceFlow();
void StartedDoc();
void EndedDoc();
void StartedScalar(); void StartedScalar();
void StartedGroup(GroupType::value type); void StartedGroup(GroupType::value type);
void EndedGroup(GroupType::value type); void EndedGroup(GroupType::value type);