[tarantool-patches] Re: [PATCH v2 5/5] lua: introduce utf8 built-in globaly visible module
Alexander Turenko
alexander.turenko at tarantool.org
Sat May 5 03:38:06 MSK 2018
On Sat, May 05, 2018 at 03:24:41AM +0300, Vladislav Shpilevoy wrote:
>
>
> >
> > > > > +
> > > > > +/**
> > > > > + * 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)
>
>
[0, #str] for the end position.
Excuse me for nitpicking.
WBR, Alexander Turenko.
More information about the Tarantool-patches
mailing list