Skip to content

Commit ae3eea8

Browse files
committed
Add functions for iterating utf-8 strings.
JerryScript-DCO-1.0-Signed-off-by: Andrey Shitov [email protected]
1 parent 0787d76 commit ae3eea8

File tree

5 files changed

+526
-111
lines changed

5 files changed

+526
-111
lines changed

jerry-core/ecma/builtin-objects/ecma-builtin-global.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -880,10 +880,10 @@ ecma_builtin_global_object_encode_uri_helper (ecma_value_t uri, /**< uri argumen
880880

881881
lit_utf8_iterator_t iter = lit_utf8_iterator_create (input_start_p, input_size);
882882
lit_utf8_size_t output_length = 1;
883-
while (!lit_utf8_iterator_reached_buffer_end (&iter))
883+
while (!lit_utf8_iterator_is_eos (&iter))
884884
{
885885
/* Input validation. */
886-
lit_code_point_t character = lit_utf8_iterator_read_code_unit_and_increment (&iter);
886+
lit_code_point_t character = lit_utf8_iterator_read_next (&iter);
887887

888888
if (character <= 0x7f)
889889
{
@@ -931,10 +931,10 @@ ecma_builtin_global_object_encode_uri_helper (ecma_value_t uri, /**< uri argumen
931931

932932
lit_utf8_iterator_t iter = lit_utf8_iterator_create (input_start_p, input_size);
933933
lit_utf8_byte_t *output_char_p = output_start_p;
934-
while (!lit_utf8_iterator_reached_buffer_end (&iter))
934+
while (!lit_utf8_iterator_is_eos (&iter))
935935
{
936936
/* Input decode. */
937-
lit_code_point_t character = lit_utf8_iterator_read_code_unit_and_increment (&iter);
937+
lit_code_point_t character = lit_utf8_iterator_read_next (&iter);
938938

939939
if (character <= 0x7f)
940940
{

jerry-core/lit/lit-globals.h

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,11 @@ typedef ecma_char_t *ecma_char_ptr_t;
8888
*/
8989
#define LIT_UTF8_MAX_BYTES_IN_CODE_UNIT (3)
9090

91+
/**
92+
* Max bytes needed to represent a code point (Unicode character) via utf-8 encoding
93+
*/
94+
#define LIT_UTF8_MAX_BYTES_IN_CODE_POINT (4)
95+
9196
/**
9297
* A byte of utf-8 string
9398
*/

0 commit comments

Comments
 (0)