summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormrlolthe1st <[email protected]>2025-06-23 15:34:35 +0300
committermrlolthe1st <[email protected]>2025-06-23 16:26:26 +0300
commit98b1e58cb59bd61df43699a36053a1ef1589d63f (patch)
tree517f82644a78bcd2e9efc35f2eac495c6424fe05
parent0b32706dbbcba42abc096955d7ad3276640e7208 (diff)
YQL-19921: Proper handle {} and []
commit_hash:c0d84e9086c46ed6c059307704d44f9f3e5c75b9
-rw-r--r--yt/yql/providers/yt/codec/yt_arrow_converter.cpp12
1 files changed, 6 insertions, 6 deletions
diff --git a/yt/yql/providers/yt/codec/yt_arrow_converter.cpp b/yt/yql/providers/yt/codec/yt_arrow_converter.cpp
index 2f08546ec35..52ce6e8cea3 100644
--- a/yt/yql/providers/yt/codec/yt_arrow_converter.cpp
+++ b/yt/yql/providers/yt/codec/yt_arrow_converter.cpp
@@ -323,13 +323,13 @@ void SkipYson(TYsonBuffer& buf) {
case BeginListSymbol: {
buf.Next();
for (;;) {
+ if (buf.Current() == EndListSymbol) {
+ break;
+ }
SkipYson(buf);
if (buf.Current() == ListItemSeparatorSymbol) {
buf.Next();
}
- if (buf.Current() == EndListSymbol) {
- break;
- }
}
buf.Next();
break;
@@ -339,6 +339,9 @@ void SkipYson(TYsonBuffer& buf) {
auto originalEnd = buf.Current() == BeginMapSymbol ? EndMapSymbol : EndAttributesSymbol;
buf.Next();
for (;;) {
+ if (buf.Current() == originalEnd) {
+ break;
+ }
SkipYson(buf);
YQL_ENSURE(buf.Current() == KeyValueSeparatorSymbol);
buf.Next();
@@ -346,9 +349,6 @@ void SkipYson(TYsonBuffer& buf) {
if (buf.Current() == KeyedItemSeparatorSymbol) {
buf.Next();
}
- if (buf.Current() == originalEnd) {
- break;
- }
}
buf.Next();
break;