<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ydb/util, branch CLI_2.2.0</title>
<subtitle>Mirror of YDB github repos</subtitle>
<id>https://code.mastervirt.ru/ydb/atom?h=CLI_2.2.0</id>
<link rel='self' href='https://code.mastervirt.ru/ydb/atom?h=CLI_2.2.0'/>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/'/>
<updated>2023-02-07T18:14:00Z</updated>
<entry>
<title>Intermediate changes</title>
<updated>2023-02-07T18:14:00Z</updated>
<author>
<name>robot-piglet</name>
<email>robot-piglet@yandex-team.com</email>
</author>
<published>2023-02-07T18:14:00Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=9f448c9c675e670d53bba7a8d74a995b2d9a3606'/>
<id>urn:sha1:9f448c9c675e670d53bba7a8d74a995b2d9a3606</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Intermediate changes</title>
<updated>2023-02-07T14:37:14Z</updated>
<author>
<name>robot-piglet</name>
<email>robot-piglet@yandex-team.com</email>
</author>
<published>2023-02-07T14:37:14Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=94299c40d78c487307d3b744ecadf539dc13bb1a'/>
<id>urn:sha1:94299c40d78c487307d3b744ecadf539dc13bb1a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>less shim</title>
<updated>2023-02-06T17:48:31Z</updated>
<author>
<name>pg</name>
<email>pg@yandex-team.com</email>
</author>
<published>2023-02-06T17:48:31Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=6cabb77676668397e5ac0afacc8c68b54c41c86b'/>
<id>urn:sha1:6cabb77676668397e5ac0afacc8c68b54c41c86b</id>
<content type='text'>
К сожалению, люди успели наплодить переменных и методов c именами i64(), ui64(), поэтому для генеренного кода проще всего оказалось завести несколько type alias arc_ui64 -&gt; ui64, и так далее.</content>
</entry>
<entry>
<title>SetLowestThreadPriority in util</title>
<updated>2023-02-01T11:06:22Z</updated>
<author>
<name>ozaykova</name>
<email>ozaykova@yandex-team.com</email>
</author>
<published>2023-02-01T11:06:22Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=99bf72df7c096ea5a2b9015d3bfe4b84fc02c469'/>
<id>urn:sha1:99bf72df7c096ea5a2b9015d3bfe4b84fc02c469</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix spinlock pause</title>
<updated>2023-01-31T22:09:58Z</updated>
<author>
<name>lukyan</name>
<email>lukyan@yandex-team.com</email>
</author>
<published>2023-01-31T22:09:58Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=fff75b19a0093f9769a2f75902d8ea4de6e79886'/>
<id>urn:sha1:fff75b19a0093f9769a2f75902d8ea4de6e79886</id>
<content type='text'>
</content>
</entry>
<entry>
<title>External build system generator release 12</title>
<updated>2023-01-31T03:43:37Z</updated>
<author>
<name>robot-ya-builder</name>
<email>robot-ya-builder@yandex-team.com</email>
</author>
<published>2023-01-31T03:43:37Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=84d8b69eb78329102350117cecd3789f6b0a76bc'/>
<id>urn:sha1:84d8b69eb78329102350117cecd3789f6b0a76bc</id>
<content type='text'>
Update tools: yexport</content>
</entry>
<entry>
<title>Fix grammar in "yexception.h"</title>
<updated>2023-01-28T11:13:03Z</updated>
<author>
<name>r-andrey</name>
<email>r-andrey@yandex-team.com</email>
</author>
<published>2023-01-28T11:13:03Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=e9ca29e3dfc6f7601dd4037785c75d8d3b6620f3'/>
<id>urn:sha1:e9ca29e3dfc6f7601dd4037785c75d8d3b6620f3</id>
<content type='text'>
</content>
</entry>
<entry>
<title>TMemoryInput Try to prohibit use-after-free and require explicit cast to TStringBuf (with &amp;&amp;)</title>
<updated>2023-01-23T06:51:46Z</updated>
<author>
<name>ilnurkh</name>
<email>ilnurkh@yandex-team.com</email>
</author>
<published>2023-01-23T06:51:46Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=6b86da079d2677e428c32d096a69a18b82ff129b'/>
<id>urn:sha1:6b86da079d2677e428c32d096a69a18b82ff129b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>External build system generator release 8</title>
<updated>2023-01-17T10:48:00Z</updated>
<author>
<name>robot-ya-builder</name>
<email>robot-ya-builder@yandex-team.com</email>
</author>
<published>2023-01-17T10:48:00Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=58a117b001b63f06104246f6a89c60128596b391'/>
<id>urn:sha1:58a117b001b63f06104246f6a89c60128596b391</id>
<content type='text'>
Update tools: yexport</content>
</entry>
<entry>
<title>charset: do not allow surrogate pairs in UTF-8</title>
<updated>2023-01-16T18:39:14Z</updated>
<author>
<name>dpotapov</name>
<email>dpotapov@yandex-team.com</email>
</author>
<published>2023-01-16T18:39:14Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=328635a6bd949596c49a33c9c2b67d00cc2704db'/>
<id>urn:sha1:328635a6bd949596c49a33c9c2b67d00cc2704db</id>
<content type='text'>
By [RFC3629 section 3](https://datatracker.ietf.org/doc/html/rfc3629#section-3):
```
   The definition of UTF-8 prohibits encoding character numbers between
   U+D800 and U+DFFF, which are reserved for use with the UTF-16
   encoding form (as surrogate pairs) and do not directly represent characters.
```

Current implementation of `ReadUTF8CharAndAdvance` allows `UTF-8` encoded surrogate characters
like 0xED 0xA0 0xBD or 0xED 0xB3 0x9A leaving them in the strings
that cannot be processed afterwards by external programs like `iconv`.

This patch provides `strict` template flag that disables this leniency.
This flag is not enabled by default, because Arcadia already has hundreds of
tests with inputs containing such surrogate pairs and these tests breaks in strict mode
and there is a chance that prod might affected too.

SSE4 implementation doesn't perform any validation at all, so it is left unchanged.</content>
</entry>
</feed>
