diff --git a/src/hb-buffer-deserialize-json.hh b/src/hb-buffer-deserialize-json.hh index 00ecff63f..004a9fb8b 100644 --- a/src/hb-buffer-deserialize-json.hh +++ b/src/hb-buffer-deserialize-json.hh @@ -548,21 +548,19 @@ _hb_buffer_deserialize_json (hb_buffer_t *buffer, while (p < pe && ISSPACE (*p)) p++; if (p < pe && *p == (buffer->len ? ',' : '[')) - { *end_ptr = ++p; - } const char *tok = nullptr; int cs; hb_glyph_info_t info = {0}; hb_glyph_position_t pos = {0}; -#line 554 "hb-buffer-deserialize-json.hh" +#line 552 "hb-buffer-deserialize-json.hh" { cs = deserialize_json_start; } -#line 557 "hb-buffer-deserialize-json.hh" +#line 555 "hb-buffer-deserialize-json.hh" { int _slen; int _trans; @@ -774,7 +772,7 @@ _resume: *end_ptr = p; } break; -#line 735 "hb-buffer-deserialize-json.hh" +#line 733 "hb-buffer-deserialize-json.hh" } _again: @@ -786,7 +784,7 @@ _again: _out: {} } -#line 139 "hb-buffer-deserialize-json.rl" +#line 137 "hb-buffer-deserialize-json.rl" *end_ptr = p; diff --git a/src/hb-buffer-deserialize-json.rl b/src/hb-buffer-deserialize-json.rl index 01677d884..b12dd0f1a 100644 --- a/src/hb-buffer-deserialize-json.rl +++ b/src/hb-buffer-deserialize-json.rl @@ -125,9 +125,7 @@ _hb_buffer_deserialize_json (hb_buffer_t *buffer, while (p < pe && ISSPACE (*p)) p++; if (p < pe && *p == (buffer->len ? ',' : '[')) - { *end_ptr = ++p; - } const char *tok = nullptr; int cs; diff --git a/src/hb-buffer-deserialize-text-glyphs.rl b/src/hb-buffer-deserialize-text-glyphs.rl index 8eec370e4..9d7ec2ef9 100644 --- a/src/hb-buffer-deserialize-text-glyphs.rl +++ b/src/hb-buffer-deserialize-text-glyphs.rl @@ -93,7 +93,7 @@ glyph_item = glyphs = glyph_item (space* '|' space* glyph_item)* space* ('|'|']'); -main := space* '[' glyphs; +main := space* glyphs; }%% @@ -111,6 +111,8 @@ _hb_buffer_deserialize_text_glyphs (hb_buffer_t *buffer, while (p < pe && ISSPACE (*p)) p++; + if (p < pe && *p == (buffer->len ? ',' : '[')) + *end_ptr = ++p; const char *tok = nullptr; int cs; diff --git a/src/hb-buffer-deserialize-text-unicodes.rl b/src/hb-buffer-deserialize-text-unicodes.rl index 4d81aa70b..74cd0eed8 100644 --- a/src/hb-buffer-deserialize-text-unicodes.rl +++ b/src/hb-buffer-deserialize-text-unicodes.rl @@ -75,7 +75,7 @@ unicode_item = unicodes = unicode_item (space* '|' space* unicode_item)* space* ('|'|'>'); -main := space* '<' unicodes; +main := space* unicodes; }%% @@ -90,6 +90,8 @@ _hb_buffer_deserialize_text_unicodes (hb_buffer_t *buffer, while (p < pe && ISSPACE (*p)) p++; + if (p < pe && *p == (buffer->len ? ',' : '<')) + *end_ptr = ++p; const char *tok = nullptr; int cs;