Skip to content

Commit 16baee5

Browse files
ndosscheiluuu1994
andcommitted
Upgrade Lexbor to v2.7.0
Co-authored-by: Ilija Tovilo <ilija.tovilo@me.com>
1 parent fbd3017 commit 16baee5

File tree

158 files changed

+21143
-5442
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

158 files changed

+21143
-5442
lines changed

ext/dom/config.m4

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,22 +27,32 @@ if test "$PHP_DOM" != "no"; then
2727
$LEXBOR_DIR/core/shs.c
2828
$LEXBOR_DIR/core/str.c
2929
$LEXBOR_DIR/core/strtod.c
30+
$LEXBOR_DIR/css/at_rule.c
31+
$LEXBOR_DIR/css/at_rule/state.c
32+
$LEXBOR_DIR/css/blank.c
3033
$LEXBOR_DIR/css/css.c
34+
$LEXBOR_DIR/css/declaration.c
3135
$LEXBOR_DIR/css/log.c
3236
$LEXBOR_DIR/css/parser.c
37+
$LEXBOR_DIR/css/property.c
38+
$LEXBOR_DIR/css/property/state.c
39+
$LEXBOR_DIR/css/rule.c
3340
$LEXBOR_DIR/css/selectors/pseudo_state.c
3441
$LEXBOR_DIR/css/selectors/pseudo.c
3542
$LEXBOR_DIR/css/selectors/selector.c
3643
$LEXBOR_DIR/css/selectors/selectors.c
3744
$LEXBOR_DIR/css/selectors/state.c
3845
$LEXBOR_DIR/css/state.c
46+
$LEXBOR_DIR/css/stylesheet.c
3947
$LEXBOR_DIR/css/syntax/anb.c
4048
$LEXBOR_DIR/css/syntax/parser.c
4149
$LEXBOR_DIR/css/syntax/state.c
4250
$LEXBOR_DIR/css/syntax/syntax.c
4351
$LEXBOR_DIR/css/syntax/token.c
4452
$LEXBOR_DIR/css/syntax/tokenizer.c
4553
$LEXBOR_DIR/css/syntax/tokenizer/error.c
54+
$LEXBOR_DIR/css/unit.c
55+
$LEXBOR_DIR/css/value.c
4656
$LEXBOR_DIR/dom/interface.c
4757
$LEXBOR_DIR/dom/interfaces/attr.c
4858
$LEXBOR_DIR/dom/interfaces/cdata_section.c
@@ -118,7 +128,9 @@ if test "$PHP_DOM" != "no"; then
118128
$LEXBOR_DIR/html/interfaces/progress_element.c
119129
$LEXBOR_DIR/html/interfaces/quote_element.c
120130
$LEXBOR_DIR/html/interfaces/script_element.c
131+
$LEXBOR_DIR/html/interfaces/search_element.c
121132
$LEXBOR_DIR/html/interfaces/select_element.c
133+
$LEXBOR_DIR/html/interfaces/selectedcontent_element.c
122134
$LEXBOR_DIR/html/interfaces/slot_element.c
123135
$LEXBOR_DIR/html/interfaces/source_element.c
124136
$LEXBOR_DIR/html/interfaces/span_element.c
@@ -139,6 +151,7 @@ if test "$PHP_DOM" != "no"; then
139151
$LEXBOR_DIR/html/interfaces/video_element.c
140152
$LEXBOR_DIR/html/interfaces/window.c
141153
$LEXBOR_DIR/html/parser.c
154+
$LEXBOR_DIR/html/tag.c
142155
$LEXBOR_DIR/html/token_attr.c
143156
$LEXBOR_DIR/html/token.c
144157
$LEXBOR_DIR/html/tokenizer.c
@@ -168,8 +181,6 @@ if test "$PHP_DOM" != "no"; then
168181
$LEXBOR_DIR/html/tree/insertion_mode/in_head_noscript.c
169182
$LEXBOR_DIR/html/tree/insertion_mode/in_head.c
170183
$LEXBOR_DIR/html/tree/insertion_mode/in_row.c
171-
$LEXBOR_DIR/html/tree/insertion_mode/in_select_in_table.c
172-
$LEXBOR_DIR/html/tree/insertion_mode/in_select.c
173184
$LEXBOR_DIR/html/tree/insertion_mode/in_table_body.c
174185
$LEXBOR_DIR/html/tree/insertion_mode/in_table_text.c
175186
$LEXBOR_DIR/html/tree/insertion_mode/in_table.c
@@ -225,6 +236,8 @@ if test "$PHP_DOM" != "no"; then
225236
PHP_ADD_BUILD_DIR([
226237
$ext_builddir/parentnode
227238
$ext_builddir/$LEXBOR_DIR/core
239+
$ext_builddir/$LEXBOR_DIR/css/at_rule
240+
$ext_builddir/$LEXBOR_DIR/css/property
228241
$ext_builddir/$LEXBOR_DIR/css/selectors
229242
$ext_builddir/$LEXBOR_DIR/css/syntax/tokenizer
230243
$ext_builddir/$LEXBOR_DIR/css/tokenizer

ext/dom/config.w32

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,12 +25,14 @@ if (PHP_DOM == "yes") {
2525
ADD_SOURCES("ext/dom/lexbor/lexbor/dom/interfaces", "attr.c cdata_section.c character_data.c comment.c document.c document_fragment.c document_type.c element.c node.c processing_instruction.c shadow_root.c text.c", "dom");
2626
ADD_SOURCES("ext/dom/lexbor/lexbor/html/tokenizer", "error.c state_comment.c state_doctype.c state_rawtext.c state_rcdata.c state_script.c state.c", "dom");
2727
ADD_SOURCES("ext/dom/lexbor/lexbor/html/tree", "active_formatting.c open_elements.c error.c", "dom");
28-
ADD_SOURCES("ext/dom/lexbor/lexbor/html/tree/insertion_mode", "after_after_body.c after_after_frameset.c after_body.c after_frameset.c after_head.c before_head.c before_html.c foreign_content.c in_body.c in_caption.c in_cell.c in_column_group.c in_frameset.c in_head.c in_head_noscript.c initial.c in_row.c in_select.c in_select_in_table.c in_table_body.c in_table.c in_table_text.c in_template.c text.c", "dom");
29-
ADD_SOURCES("ext/dom/lexbor/lexbor/html", "encoding.c interface.c parser.c token.c token_attr.c tokenizer.c tree.c", "dom");
28+
ADD_SOURCES("ext/dom/lexbor/lexbor/html/tree/insertion_mode", "after_after_body.c after_after_frameset.c after_body.c after_frameset.c after_head.c before_head.c before_html.c foreign_content.c in_body.c in_caption.c in_cell.c in_column_group.c in_frameset.c in_head.c in_head_noscript.c initial.c in_row.c in_table_body.c in_table.c in_table_text.c in_template.c text.c", "dom");
29+
ADD_SOURCES("ext/dom/lexbor/lexbor/html", "encoding.c interface.c parser.c tag.c token.c token_attr.c tokenizer.c tree.c", "dom");
3030
ADD_SOURCES("ext/dom/lexbor/lexbor/encoding", "decode.c encode.c encoding.c multi.c range.c res.c single.c", "dom");
31-
ADD_SOURCES("ext/dom/lexbor/lexbor/html/interfaces", "anchor_element.c area_element.c audio_element.c base_element.c body_element.c br_element.c button_element.c canvas_element.c data_element.c data_list_element.c details_element.c dialog_element.c directory_element.c div_element.c d_list_element.c document.c element.c embed_element.c field_set_element.c font_element.c form_element.c frame_element.c frame_set_element.c head_element.c heading_element.c hr_element.c html_element.c iframe_element.c image_element.c input_element.c label_element.c legend_element.c li_element.c link_element.c map_element.c marquee_element.c media_element.c menu_element.c meta_element.c meter_element.c mod_element.c object_element.c o_list_element.c opt_group_element.c option_element.c output_element.c paragraph_element.c param_element.c picture_element.c pre_element.c progress_element.c quote_element.c script_element.c select_element.c slot_element.c source_element.c span_element.c style_element.c table_caption_element.c table_cell_element.c table_col_element.c table_element.c table_row_element.c table_section_element.c template_element.c text_area_element.c time_element.c title_element.c track_element.c u_list_element.c unknown_element.c video_element.c window.c", "dom");
31+
ADD_SOURCES("ext/dom/lexbor/lexbor/html/interfaces", "anchor_element.c area_element.c audio_element.c base_element.c body_element.c br_element.c button_element.c canvas_element.c data_element.c data_list_element.c details_element.c dialog_element.c directory_element.c div_element.c d_list_element.c document.c element.c embed_element.c field_set_element.c font_element.c form_element.c frame_element.c frame_set_element.c head_element.c heading_element.c hr_element.c html_element.c iframe_element.c image_element.c input_element.c label_element.c legend_element.c li_element.c link_element.c map_element.c marquee_element.c media_element.c menu_element.c meta_element.c meter_element.c mod_element.c object_element.c o_list_element.c opt_group_element.c option_element.c output_element.c paragraph_element.c param_element.c picture_element.c pre_element.c progress_element.c quote_element.c script_element.c search_element.c select_element.c selectedcontent_element.c slot_element.c source_element.c span_element.c style_element.c table_caption_element.c table_cell_element.c table_col_element.c table_element.c table_row_element.c table_section_element.c template_element.c text_area_element.c time_element.c title_element.c track_element.c u_list_element.c unknown_element.c video_element.c window.c", "dom");
3232
ADD_SOURCES("ext/dom/lexbor/lexbor/selectors-adapted", "selectors.c", "dom");
33-
ADD_SOURCES("ext/dom/lexbor/lexbor/css", "state.c log.c parser.c css.c", "dom");
33+
ADD_SOURCES("ext/dom/lexbor/lexbor/css", "at_rule.c blank.c css.c declaration.c log.c parser.c property.c rule.c state.c stylesheet.c unit.c value.c", "dom");
34+
ADD_SOURCES("ext/dom/lexbor/lexbor/css/at_rule", "state.c", "dom");
35+
ADD_SOURCES("ext/dom/lexbor/lexbor/css/property", "state.c", "dom");
3436
ADD_SOURCES("ext/dom/lexbor/lexbor/css/selectors", "state.c selectors.c selector.c pseudo_state.c pseudo.c", "dom");
3537
ADD_SOURCES("ext/dom/lexbor/lexbor/css/syntax", "state.c parser.c syntax.c anb.c tokenizer.c token.c", "dom");
3638
ADD_SOURCES("ext/dom/lexbor/lexbor/css/syntax/tokenizer", "error.c", "dom");

ext/dom/lexbor/lexbor/core/base.h

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ extern "C" {
2727
#include "lexbor/core/lexbor.h"
2828

2929
#define LEXBOR_VERSION_MAJOR 2
30-
#define LEXBOR_VERSION_MINOR 0
30+
#define LEXBOR_VERSION_MINOR 7
3131
#define LEXBOR_VERSION_PATCH 0
3232

3333
#define LEXBOR_VERSION_STRING LEXBOR_STRINGIZE(LEXBOR_VERSION_MAJOR) "." \
@@ -39,6 +39,10 @@ extern "C" {
3939
#define lexbor_max(val1, val2) ((val1) > (val2) ? (val1) : (val2))
4040
#define lexbor_min(val1, val2) ((val1) < (val2) ? (val1) : (val2))
4141

42+
#define LEXBOR_STR_RES_MAP_CHAR_OTHER 0x00
43+
#define LEXBOR_STR_RES_MAP_CHAR_A_Z_a_z 0x01
44+
#define LEXBOR_STR_RES_MAP_CHAR_WHITESPACE 0x02
45+
#define LEXBOR_STR_RES_SLIP 0xFF
4246

4347
/*
4448
* Very important!!!

ext/dom/lexbor/lexbor/core/def.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,4 +54,6 @@
5454

5555
#define LXB_EXTERN extern LXB_API
5656

57+
#define lxb_size(_size) ((size_t) (_size))
58+
5759
#endif /* LEXBOR_DEF_H */

ext/dom/lexbor/lexbor/core/diyfp.c

Lines changed: 32 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,44 @@
11
/*
2-
* Copyright (C) Alexander Borisov
2+
* Copyright (C) 2015-2019 NGINX, Inc.
3+
* Copyright (C) 2019-2025 F5, Inc.
4+
* Copyright (C) 2015-2021 Igor Sysoev
5+
* Copyright (C) 2017-2025 Dmitry Volyntsev
6+
* Copyright (C) 2019-2022 Alexander Borisov
7+
* Copyright (C) 2022-2025 Vadim Zhestikov
8+
* All rights reserved.
39
*
4-
* Based on nxt_diyfp.c from NGINX NJS project
10+
* Redistribution and use in source and binary forms, with or without
11+
* modification, are permitted provided that the following conditions
12+
* are met:
13+
* 1. Redistributions of source code must retain the above copyright
14+
* notice, this list of conditions and the following disclaimer.
15+
* 2. Redistributions in binary form must reproduce the above copyright
16+
* notice, this list of conditions and the following disclaimer in the
17+
* documentation and/or other materials provided with the distribution.
518
*
6-
* Copyright (C) Dmitry Volyntsev
7-
* Copyright (C) NGINX, Inc.
19+
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
20+
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
21+
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
22+
* ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
23+
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
24+
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
25+
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
26+
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
27+
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
28+
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
29+
* SUCH DAMAGE.
30+
*/
31+
32+
/*
33+
* Copyright (C) Alexander Borisov
834
*
35+
* Based on nxt_diyfp.h from NGINX NJS project
936
* An internal diy_fp implementation.
1037
* For details, see Loitsch, Florian. "Printing floating-point numbers quickly
1138
* and accurately with integers." ACM Sigplan Notices 45.6 (2010): 233-243.
1239
*/
1340

41+
1442
#include "lexbor/core/diyfp.h"
1543

1644

ext/dom/lexbor/lexbor/core/diyfp.h

Lines changed: 31 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,38 @@
11
/*
2-
* Copyright (C) Alexander Borisov
2+
* Copyright (C) 2015-2019 NGINX, Inc.
3+
* Copyright (C) 2019-2025 F5, Inc.
4+
* Copyright (C) 2015-2021 Igor Sysoev
5+
* Copyright (C) 2017-2025 Dmitry Volyntsev
6+
* Copyright (C) 2019-2022 Alexander Borisov
7+
* Copyright (C) 2022-2025 Vadim Zhestikov
8+
* All rights reserved.
39
*
4-
* Based on nxt_diyfp.h from NGINX NJS project
10+
* Redistribution and use in source and binary forms, with or without
11+
* modification, are permitted provided that the following conditions
12+
* are met:
13+
* 1. Redistributions of source code must retain the above copyright
14+
* notice, this list of conditions and the following disclaimer.
15+
* 2. Redistributions in binary form must reproduce the above copyright
16+
* notice, this list of conditions and the following disclaimer in the
17+
* documentation and/or other materials provided with the distribution.
518
*
6-
* Copyright (C) Dmitry Volyntsev
7-
* Copyright (C) NGINX, Inc.
19+
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
20+
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
21+
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
22+
* ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
23+
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
24+
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
25+
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
26+
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
27+
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
28+
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
29+
* SUCH DAMAGE.
30+
*/
31+
32+
/*
33+
* Copyright (C) Alexander Borisov
834
*
35+
* Based on nxt_diyfp.h from NGINX NJS project
936
* An internal diy_fp implementation.
1037
* For details, see Loitsch, Florian. "Printing floating-point numbers quickly
1138
* and accurately with integers." ACM Sigplan Notices 45.6 (2010): 233-243.

ext/dom/lexbor/lexbor/core/dtoa.c

Lines changed: 30 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1,39 +1,36 @@
11
/*
2-
* Copyright (C) Alexander Borisov
3-
*
4-
* Based on nxt_dtoa.c from NGINX NJS project
5-
*
6-
* Copyright (C) Dmitry Volyntsev
7-
* Copyright (C) NGINX, Inc.
8-
*
9-
* Grisu2 algorithm implementation for printing floating-point numbers based
10-
* upon the work of Milo Yip and Doug Currie.
11-
*
12-
* For algorithm information, see Loitsch, Florian. "Printing
13-
* floating-point numbers quickly and accurately with integers." ACM Sigplan
14-
* Notices 45.6 (2010): 233-243.
15-
*
16-
* Copyright (C) 2015 Doug Currie
17-
* based on dtoa_milo.h
18-
* Copyright (C) 2014 Milo Yip
2+
* Copyright (C) 2015-2019 NGINX, Inc.
3+
* Copyright (C) 2019-2025 F5, Inc.
4+
* Copyright (C) 2015-2021 Igor Sysoev
5+
* Copyright (C) 2017-2025 Dmitry Volyntsev
6+
* Copyright (C) 2019-2022 Alexander Borisov
7+
* Copyright (C) 2022-2025 Vadim Zhestikov
8+
* All rights reserved.
199
*
20-
* Permission is hereby granted, free of charge, to any person obtaining a copy
21-
* of this software and associated documentation files (the "Software"), to deal
22-
* in the Software without restriction, including without limitation the rights
23-
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
24-
* copies of the Software, and to permit persons to whom the Software is
25-
* furnished to do so, subject to the following conditions:
10+
* Redistribution and use in source and binary forms, with or without
11+
* modification, are permitted provided that the following conditions
12+
* are met:
13+
* 1. Redistributions of source code must retain the above copyright
14+
* notice, this list of conditions and the following disclaimer.
15+
* 2. Redistributions in binary form must reproduce the above copyright
16+
* notice, this list of conditions and the following disclaimer in the
17+
* documentation and/or other materials provided with the distribution.
2618
*
27-
* The above copyright notice and this permission notice shall be included in
28-
* all copies or substantial portions of the Software.
29-
*
30-
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
31-
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
32-
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
33-
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
34-
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
35-
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
36-
* THE SOFTWARE.
19+
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
20+
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
21+
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
22+
* ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
23+
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
24+
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
25+
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
26+
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
27+
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
28+
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
29+
* SUCH DAMAGE.
30+
*/
31+
32+
/*
33+
* Copyright (C) Alexander Borisov
3734
*/
3835

3936
#include "lexbor/core/str.h"

ext/dom/lexbor/lexbor/core/dtoa.h

Lines changed: 30 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,36 @@
11
/*
2-
* Copyright (C) Alexander Borisov
2+
* Copyright (C) 2015-2019 NGINX, Inc.
3+
* Copyright (C) 2019-2025 F5, Inc.
4+
* Copyright (C) 2015-2021 Igor Sysoev
5+
* Copyright (C) 2017-2025 Dmitry Volyntsev
6+
* Copyright (C) 2019-2022 Alexander Borisov
7+
* Copyright (C) 2022-2025 Vadim Zhestikov
8+
* All rights reserved.
39
*
4-
* Based on nxt_dtoa.h from NGINX NJS project
10+
* Redistribution and use in source and binary forms, with or without
11+
* modification, are permitted provided that the following conditions
12+
* are met:
13+
* 1. Redistributions of source code must retain the above copyright
14+
* notice, this list of conditions and the following disclaimer.
15+
* 2. Redistributions in binary form must reproduce the above copyright
16+
* notice, this list of conditions and the following disclaimer in the
17+
* documentation and/or other materials provided with the distribution.
518
*
6-
* Copyright (C) Dmitry Volyntsev
7-
* Copyright (C) Nginx, Inc.
19+
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
20+
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
21+
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
22+
* ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
23+
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
24+
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
25+
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
26+
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
27+
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
28+
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
29+
* SUCH DAMAGE.
30+
*/
31+
32+
/*
33+
* Copyright (C) Alexander Borisov
834
*/
935

1036
#ifndef LEXBOR_DTOA_H

ext/dom/lexbor/lexbor/core/hash.c

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (C) 2019 Alexander Borisov
2+
* Copyright (C) 2019-2026 Alexander Borisov
33
*
44
* Author: Alexander Borisov <borisov@lexbor.com>
55
*/
@@ -10,9 +10,10 @@
1010

1111
#include "lexbor/core/str.h"
1212

13-
#define LEXBOR_STR_RES_MAP_LOWERCASE
14-
#define LEXBOR_STR_RES_MAP_UPPERCASE
15-
#include "lexbor/core/str_res.h"
13+
#ifndef LEXBOR_DISABLE_INTERNAL_EXTERN
14+
LXB_EXTERN const lxb_char_t lexbor_str_res_map_lowercase[256];
15+
LXB_EXTERN const lxb_char_t lexbor_str_res_map_uppercase[256];
16+
#endif
1617

1718

1819
/* Insert variable. */

ext/dom/lexbor/lexbor/core/in.c

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,10 @@
11
/*
2-
* Copyright (C) 2018 Alexander Borisov
2+
* Copyright (C) 2018-2026 Alexander Borisov
33
*
44
* Author: Alexander Borisov <borisov@lexbor.com>
55
*/
66

77
#include "lexbor/core/in.h"
8-
#include "lexbor/core/str_res.h"
98

109

1110
lexbor_in_t *

0 commit comments

Comments
 (0)