From: Vladislav Shpilevoy <v.shpilevoy@tarantool.org> To: Alexander Turenko <alexander.turenko@tarantool.org> Cc: tarantool-patches@freelists.org Subject: [tarantool-patches] Re: [PATCH v2 5/5] lua: introduce utf8 built-in globaly visible module Date: Sat, 5 May 2018 03:24:41 +0300 [thread overview] Message-ID: <d949c2b2-6823-f388-b251-933e3bf7d1f8@tarantool.org> (raw) In-Reply-To: <20180505001815.2qaim6cgkya4pnx6@tkn_work_nb> On 05/05/2018 03:18, Alexander Turenko wrote: > Vlad, > > Thanks for the fixes. You are rock! > > I want to clarify two things, please see below. > > WBR, Alexander Turenko. > > On Sat, May 05, 2018 at 02:32:27AM +0300, Vladislav Shpilevoy wrote: >> Hello. Thanks for review. >> >> On 05/05/2018 01:33, Alexander Turenko wrote: >>> Vlad, >>> >>> Are you try to run tests from utf8.lua from [1]? >>> >>> [1]: https://www.lua.org/tests/lua-5.3.4-tests.tar.gz >>> > > Are you think such testing would be redundant? I don't insist, just want > to know explicit position. I think, our existing tests are enough. There is no necessity to duplicate checks. > >>>> + >>>> +/** >>>> + * Calculate length of a UTF8 string. Length here is symbol count. >>>> + * Works like utf8.len in Lua 5.3. >>>> + * @param String to get length. >>>> + * @param Start byte offset. Must point to the start of symbol. On >>>> + * invalid symbol an error is returned. Can be negative. >>> >>> Can be 1 <= |start| <= #str + 1, right? Is it worth to document? Such >>> offset equilibristics is not very intuitive (at least for me). >> >> No, start can be any, as well as end. diff --git a/src/lua/utf8.c b/src/lua/utf8.c index c31171b2c..c84e6ff72 100644 --- a/src/lua/utf8.c +++ b/src/lua/utf8.c @@ -144,6 +144,7 @@ utf8_convert_offset(int offset, size_t len) * Calculate length of a UTF8 string. Length here is symbol count. * Works like utf8.len in Lua 5.3. Can take negative offsets. A * negative offset is an offset from the end of string. + * Positive position must be inside [1, #str + 1]. * @param String to get length. * @param Start byte offset. Must point to the start of symbol. On * invalid symbol an error is returned. v:tarantool v.shpilevoy$ git diff diff --git a/src/lua/utf8.c b/src/lua/utf8.c index c31171b2c..8f0ca65e5 100644 --- a/src/lua/utf8.c +++ b/src/lua/utf8.c @@ -144,14 +144,17 @@ utf8_convert_offset(int offset, size_t len) * Calculate length of a UTF8 string. Length here is symbol count. * Works like utf8.len in Lua 5.3. Can take negative offsets. A * negative offset is an offset from the end of string. + * Positive position must be inside [1, #str + 1]. * @param String to get length. * @param Start byte offset. Must point to the start of symbol. On * invalid symbol an error is returned. * @param End byte offset. Can point to the middle of symbol. * Partial symbol is counted too. * @retval not nil Symbol count. - * @retval nil, error Error. Byte position of the error is + * @retval nil, number Error. Byte position of the error is * returned in the second value. + * @retval nil, string Error. Reason is returned in the second + * value. */ static int utf8_len(struct lua_State *L)
next prev parent reply other threads:[~2018-05-05 0:24 UTC|newest] Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top 2018-04-28 22:45 [tarantool-patches] [PATCH v2 0/5] Expose ICU into Lua Vladislav Shpilevoy 2018-04-28 22:45 ` [tarantool-patches] [PATCH v2 1/5] alter: fix assertion in collations alter Vladislav Shpilevoy 2018-04-28 22:45 ` [tarantool-patches] [PATCH v2 2/5] Move struct on_access_denied_ctx into error.h Vladislav Shpilevoy 2018-05-04 11:06 ` [tarantool-patches] " Alexander Turenko 2018-05-04 12:05 ` Vladislav Shpilevoy 2018-04-28 22:45 ` [tarantool-patches] [PATCH v2 3/5] Merge box_error, stat and collations into core library Vladislav Shpilevoy 2018-05-04 11:36 ` [tarantool-patches] " Alexander Turenko 2018-05-04 12:05 ` Vladislav Shpilevoy 2018-05-08 13:18 ` Konstantin Osipov 2018-05-10 21:06 ` Vladislav Shpilevoy 2018-04-28 22:45 ` [tarantool-patches] [PATCH v2 4/5] Always store built-in collations in the cache Vladislav Shpilevoy 2018-05-08 13:20 ` [tarantool-patches] " Konstantin Osipov 2018-04-28 22:45 ` [tarantool-patches] [PATCH v2 5/5] lua: introduce utf8 built-in globaly visible module Vladislav Shpilevoy 2018-05-04 22:33 ` [tarantool-patches] " Alexander Turenko 2018-05-04 23:32 ` Vladislav Shpilevoy 2018-05-05 0:18 ` Alexander Turenko 2018-05-05 0:24 ` Vladislav Shpilevoy [this message] 2018-05-05 0:38 ` Alexander Turenko 2018-05-05 0:45 ` Vladislav Shpilevoy 2018-05-08 13:21 ` Konstantin Osipov 2018-05-05 0:19 ` [tarantool-patches] Re: [PATCH v2 0/5] Expose ICU into Lua Alexander Turenko
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=d949c2b2-6823-f388-b251-933e3bf7d1f8@tarantool.org \ --to=v.shpilevoy@tarantool.org \ --cc=alexander.turenko@tarantool.org \ --cc=tarantool-patches@freelists.org \ --subject='[tarantool-patches] Re: [PATCH v2 5/5] lua: introduce utf8 built-in globaly visible module' \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox