Skip to content

Commit 5e87dd1

Browse files
committed
Fixed comments between array items
1 parent 3a18bb7 commit 5e87dd1

File tree

2 files changed

+17
-3
lines changed

2 files changed

+17
-3
lines changed

src/wsjcpp_yaml.cpp

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -186,7 +186,13 @@ int WSJCppYAMLItem::getLength() {
186186
if (m_nItemType != WSJCPP_YAML_ITEM_ARRAY) {
187187
Log::throw_err(TAG, "getLength, Element must be array");
188188
}
189-
return m_vObjects.size();
189+
int nCount = 0;
190+
for (int i = 0; i < m_vObjects.size(); i++) {
191+
if (!m_vObjects[i]->isEmpty()) {
192+
nCount++;
193+
}
194+
}
195+
return nCount;
190196
}
191197

192198
// ---------------------------------------------------------------------
@@ -247,12 +253,18 @@ std::string WSJCppYAMLItem::toString(std::string sIntent) {
247253
}
248254
} else if (this->isEmpty()) {
249255
if (m_sComment.length() > 0) {
250-
sRet += "# " + m_sComment;
256+
sRet += sIntent + "# " + m_sComment;
251257
}
252258
} else if (this->isArray()) {
253259
sRet += "\n";
254260
for (int i = 0; i < m_vObjects.size(); i++) {
255-
sRet += sIntent + "- " + m_vObjects[i]->toString();
261+
WSJCppYAMLItem *pItem = m_vObjects[i];
262+
if (pItem->isEmpty()) {
263+
sRet += sIntent + pItem->toString();
264+
} else {
265+
sRet += sIntent + "- " + pItem->toString();
266+
}
267+
256268
sRet += "\n";
257269
}
258270
} else if (this->isMap()) {

unit-tests/src/unit_test_yaml_parser_simple_array.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ bool UnitTestYamlParserSimpleArray::run() {
2828
" - value21 # comment v21 \n"
2929
" - value22 # comment v22 \n"
3030
" - true # comment true \n"
31+
" # some\n"
3132
" - falsesome \n"
3233
" - free@free \n"
3334
" - # empty \n"
@@ -69,6 +70,7 @@ bool UnitTestYamlParserSimpleArray::run() {
6970
" - value21 # comment v21\n"
7071
" - value22 # comment v22\n"
7172
" - true # comment true\n"
73+
" # some\n"
7274
" - falsesome\n"
7375
" - free@free\n"
7476
" - # empty\n"

0 commit comments

Comments
 (0)