Line | Count | Source (jump to first uncovered line) |
1 | | |
2 | | /* |
3 | | * Copyright (C) Igor Sysoev |
4 | | * Copyright (C) NGINX, Inc. |
5 | | */ |
6 | | |
7 | | #ifndef _NJS_UTF8_H_INCLUDED_ |
8 | | #define _NJS_UTF8_H_INCLUDED_ |
9 | | |
10 | | |
11 | | NJS_EXPORT uint32_t njs_utf8_decode(njs_unicode_decode_t *ctx, |
12 | | const u_char **data, const u_char *end); |
13 | | NJS_EXPORT u_char *njs_utf8_encode(u_char *p, uint32_t u); |
14 | | NJS_EXPORT u_char *njs_utf8_stream_encode(njs_unicode_decode_t *ctx, |
15 | | const u_char *start, const u_char *end, u_char *dst, njs_bool_t last, |
16 | | njs_bool_t fatal); |
17 | | NJS_EXPORT njs_int_t njs_utf8_casecmp(const u_char *start1, |
18 | | const u_char *start2, size_t len1, size_t len2); |
19 | | NJS_EXPORT uint32_t njs_utf8_lower_case(const u_char **start, |
20 | | const u_char *end); |
21 | | NJS_EXPORT uint32_t njs_utf8_upper_case(const u_char **start, |
22 | | const u_char *end); |
23 | | NJS_EXPORT ssize_t njs_utf8_stream_length(njs_unicode_decode_t *ctx, |
24 | | const u_char *p, size_t len, njs_bool_t last, njs_bool_t fatal, |
25 | | size_t *out_size); |
26 | | NJS_EXPORT njs_bool_t njs_utf8_is_valid(const u_char *p, size_t len); |
27 | | |
28 | | |
29 | | njs_inline uint32_t |
30 | | njs_utf8_consume(njs_unicode_decode_t *ctx, u_char byte) |
31 | 0 | { |
32 | 0 | const u_char *p; |
33 | |
|
34 | 0 | p = &byte; |
35 | |
|
36 | 0 | return njs_utf8_decode(ctx, &p, p + 1); |
37 | 0 | } Unexecuted instantiation: njs_shell.c:njs_utf8_consume Unexecuted instantiation: njs_arr.c:njs_utf8_consume Unexecuted instantiation: njs_rbtree.c:njs_utf8_consume Unexecuted instantiation: njs_mp.c:njs_utf8_consume Unexecuted instantiation: njs_sprintf.c:njs_utf8_consume Unexecuted instantiation: njs_value.c:njs_utf8_consume Unexecuted instantiation: njs_atom.c:njs_utf8_consume Unexecuted instantiation: njs_vm.c:njs_utf8_consume Unexecuted instantiation: njs_vmcode.c:njs_utf8_consume Unexecuted instantiation: njs_parser.c:njs_utf8_consume Unexecuted instantiation: njs_variable.c:njs_utf8_consume Unexecuted instantiation: njs_scope.c:njs_utf8_consume Unexecuted instantiation: njs_generator.c:njs_utf8_consume Unexecuted instantiation: njs_disassembler.c:njs_utf8_consume Unexecuted instantiation: njs_module.c:njs_utf8_consume Unexecuted instantiation: njs_extern.c:njs_utf8_consume Unexecuted instantiation: njs_number.c:njs_utf8_consume Unexecuted instantiation: njs_symbol.c:njs_utf8_consume Unexecuted instantiation: njs_string.c:njs_utf8_consume Unexecuted instantiation: njs_object.c:njs_utf8_consume Unexecuted instantiation: njs_object_prop.c:njs_utf8_consume Unexecuted instantiation: njs_array.c:njs_utf8_consume Unexecuted instantiation: njs_json.c:njs_utf8_consume Unexecuted instantiation: njs_function.c:njs_utf8_consume Unexecuted instantiation: njs_regexp.c:njs_utf8_consume Unexecuted instantiation: njs_date.c:njs_utf8_consume Unexecuted instantiation: njs_error.c:njs_utf8_consume Unexecuted instantiation: njs_array_buffer.c:njs_utf8_consume Unexecuted instantiation: njs_typed_array.c:njs_utf8_consume Unexecuted instantiation: njs_promise.c:njs_utf8_consume Unexecuted instantiation: njs_iterator.c:njs_utf8_consume Unexecuted instantiation: njs_async.c:njs_utf8_consume Unexecuted instantiation: njs_builtin.c:njs_utf8_consume Unexecuted instantiation: njs_regex.c:njs_utf8_consume Unexecuted instantiation: njs_buffer.c:njs_utf8_consume Unexecuted instantiation: njs_modules.c:njs_utf8_consume Unexecuted instantiation: njs_dtoa.c:njs_utf8_consume Unexecuted instantiation: njs_dtoa_fixed.c:njs_utf8_consume Unexecuted instantiation: njs_strtod.c:njs_utf8_consume Unexecuted instantiation: njs_djb_hash.c:njs_utf8_consume Unexecuted instantiation: njs_utf8.c:njs_utf8_consume Unexecuted instantiation: njs_utf16.c:njs_utf8_consume Unexecuted instantiation: njs_flathsh.c:njs_utf8_consume Unexecuted instantiation: njs_trace.c:njs_utf8_consume Unexecuted instantiation: njs_malloc.c:njs_utf8_consume Unexecuted instantiation: njs_utils.c:njs_utf8_consume Unexecuted instantiation: njs_chb.c:njs_utf8_consume Unexecuted instantiation: njs_lexer.c:njs_utf8_consume Unexecuted instantiation: njs_boolean.c:njs_utf8_consume Unexecuted instantiation: njs_math.c:njs_utf8_consume Unexecuted instantiation: njs_encoding.c:njs_utf8_consume Unexecuted instantiation: njs_crypto_module.c:njs_utf8_consume Unexecuted instantiation: njs_webcrypto_module.c:njs_utf8_consume Unexecuted instantiation: njs_fs_module.c:njs_utf8_consume Unexecuted instantiation: njs_query_string_module.c:njs_utf8_consume Unexecuted instantiation: njs_diyfp.c:njs_utf8_consume Unexecuted instantiation: njs_str.c:njs_utf8_consume Unexecuted instantiation: njs_random.c:njs_utf8_consume |
38 | | |
39 | | |
40 | | /* |
41 | | * njs_utf8_next() and njs_utf8_prev() expect a valid UTF-8 string. |
42 | | * |
43 | | * The leading UTF-8 byte is either 0xxxxxxx or 11xxxxxx. |
44 | | * The continuation UTF-8 bytes are 10xxxxxx. |
45 | | */ |
46 | | |
47 | | njs_inline const u_char * |
48 | | njs_utf8_next(const u_char *p, const u_char *end) |
49 | 2.84G | { |
50 | 2.84G | u_char c; |
51 | | |
52 | 2.84G | c = *p++; |
53 | | |
54 | 2.84G | if ((c & 0x80) != 0) { |
55 | | |
56 | 823M | if (njs_slow_path(p >= end)) { |
57 | 1.90k | return p; |
58 | 1.90k | } |
59 | | |
60 | 2.46G | do { |
61 | 2.46G | c = *p; |
62 | | |
63 | 2.46G | if ((c & 0xC0) != 0x80) { |
64 | 823M | return p; |
65 | 823M | } |
66 | | |
67 | 1.63G | p++; |
68 | | |
69 | 1.63G | } while (p < end); |
70 | 823M | } |
71 | | |
72 | 2.02G | return p; |
73 | 2.84G | } Unexecuted instantiation: njs_shell.c:njs_utf8_next Unexecuted instantiation: njs_arr.c:njs_utf8_next Unexecuted instantiation: njs_rbtree.c:njs_utf8_next Unexecuted instantiation: njs_mp.c:njs_utf8_next Unexecuted instantiation: njs_sprintf.c:njs_utf8_next Unexecuted instantiation: njs_value.c:njs_utf8_next Unexecuted instantiation: njs_atom.c:njs_utf8_next Unexecuted instantiation: njs_vm.c:njs_utf8_next Unexecuted instantiation: njs_vmcode.c:njs_utf8_next Unexecuted instantiation: njs_parser.c:njs_utf8_next Unexecuted instantiation: njs_variable.c:njs_utf8_next Unexecuted instantiation: njs_scope.c:njs_utf8_next Unexecuted instantiation: njs_generator.c:njs_utf8_next Unexecuted instantiation: njs_disassembler.c:njs_utf8_next Unexecuted instantiation: njs_module.c:njs_utf8_next Unexecuted instantiation: njs_extern.c:njs_utf8_next Unexecuted instantiation: njs_number.c:njs_utf8_next Unexecuted instantiation: njs_symbol.c:njs_utf8_next njs_string.c:njs_utf8_next Line | Count | Source | 49 | 2.84G | { | 50 | 2.84G | u_char c; | 51 | | | 52 | 2.84G | c = *p++; | 53 | | | 54 | 2.84G | if ((c & 0x80) != 0) { | 55 | | | 56 | 823M | if (njs_slow_path(p >= end)) { | 57 | 1.90k | return p; | 58 | 1.90k | } | 59 | | | 60 | 2.46G | do { | 61 | 2.46G | c = *p; | 62 | | | 63 | 2.46G | if ((c & 0xC0) != 0x80) { | 64 | 823M | return p; | 65 | 823M | } | 66 | | | 67 | 1.63G | p++; | 68 | | | 69 | 1.63G | } while (p < end); | 70 | 823M | } | 71 | | | 72 | 2.02G | return p; | 73 | 2.84G | } |
Unexecuted instantiation: njs_object.c:njs_utf8_next Unexecuted instantiation: njs_object_prop.c:njs_utf8_next Unexecuted instantiation: njs_array.c:njs_utf8_next Unexecuted instantiation: njs_json.c:njs_utf8_next Unexecuted instantiation: njs_function.c:njs_utf8_next Unexecuted instantiation: njs_regexp.c:njs_utf8_next Unexecuted instantiation: njs_date.c:njs_utf8_next Unexecuted instantiation: njs_error.c:njs_utf8_next Unexecuted instantiation: njs_array_buffer.c:njs_utf8_next Unexecuted instantiation: njs_typed_array.c:njs_utf8_next Unexecuted instantiation: njs_promise.c:njs_utf8_next njs_iterator.c:njs_utf8_next Line | Count | Source | 49 | 11.3k | { | 50 | 11.3k | u_char c; | 51 | | | 52 | 11.3k | c = *p++; | 53 | | | 54 | 11.3k | if ((c & 0x80) != 0) { | 55 | | | 56 | 2.59k | if (njs_slow_path(p >= end)) { | 57 | 0 | return p; | 58 | 0 | } | 59 | | | 60 | 7.52k | do { | 61 | 7.52k | c = *p; | 62 | | | 63 | 7.52k | if ((c & 0xC0) != 0x80) { | 64 | 2.33k | return p; | 65 | 2.33k | } | 66 | | | 67 | 5.19k | p++; | 68 | | | 69 | 5.19k | } while (p < end); | 70 | 2.59k | } | 71 | | | 72 | 9.02k | return p; | 73 | 11.3k | } |
Unexecuted instantiation: njs_async.c:njs_utf8_next Unexecuted instantiation: njs_builtin.c:njs_utf8_next Unexecuted instantiation: njs_regex.c:njs_utf8_next Unexecuted instantiation: njs_buffer.c:njs_utf8_next Unexecuted instantiation: njs_modules.c:njs_utf8_next Unexecuted instantiation: njs_dtoa.c:njs_utf8_next Unexecuted instantiation: njs_dtoa_fixed.c:njs_utf8_next Unexecuted instantiation: njs_strtod.c:njs_utf8_next Unexecuted instantiation: njs_djb_hash.c:njs_utf8_next Unexecuted instantiation: njs_utf8.c:njs_utf8_next Unexecuted instantiation: njs_utf16.c:njs_utf8_next Unexecuted instantiation: njs_flathsh.c:njs_utf8_next Unexecuted instantiation: njs_trace.c:njs_utf8_next Unexecuted instantiation: njs_malloc.c:njs_utf8_next Unexecuted instantiation: njs_utils.c:njs_utf8_next Unexecuted instantiation: njs_chb.c:njs_utf8_next Unexecuted instantiation: njs_lexer.c:njs_utf8_next Unexecuted instantiation: njs_boolean.c:njs_utf8_next Unexecuted instantiation: njs_math.c:njs_utf8_next Unexecuted instantiation: njs_encoding.c:njs_utf8_next Unexecuted instantiation: njs_crypto_module.c:njs_utf8_next Unexecuted instantiation: njs_webcrypto_module.c:njs_utf8_next Unexecuted instantiation: njs_fs_module.c:njs_utf8_next Unexecuted instantiation: njs_query_string_module.c:njs_utf8_next Unexecuted instantiation: njs_diyfp.c:njs_utf8_next Unexecuted instantiation: njs_str.c:njs_utf8_next Unexecuted instantiation: njs_random.c:njs_utf8_next |
74 | | |
75 | | |
76 | | njs_inline const u_char * |
77 | | njs_utf8_prev(const u_char *p, const u_char *start) |
78 | 54.5M | { |
79 | 54.5M | u_char c; |
80 | | |
81 | 111M | do { |
82 | 111M | p--; |
83 | | |
84 | 111M | if (njs_slow_path(p < start)) { |
85 | 62.5k | break; |
86 | 62.5k | } |
87 | | |
88 | 111M | c = *p; |
89 | | |
90 | 111M | } while ((c & 0xC0) == 0x80); |
91 | | |
92 | 0 | return p; |
93 | 54.5M | } Unexecuted instantiation: njs_shell.c:njs_utf8_prev Unexecuted instantiation: njs_arr.c:njs_utf8_prev Unexecuted instantiation: njs_rbtree.c:njs_utf8_prev Unexecuted instantiation: njs_mp.c:njs_utf8_prev Unexecuted instantiation: njs_sprintf.c:njs_utf8_prev Unexecuted instantiation: njs_value.c:njs_utf8_prev Unexecuted instantiation: njs_atom.c:njs_utf8_prev Unexecuted instantiation: njs_vm.c:njs_utf8_prev Unexecuted instantiation: njs_vmcode.c:njs_utf8_prev Unexecuted instantiation: njs_parser.c:njs_utf8_prev Unexecuted instantiation: njs_variable.c:njs_utf8_prev Unexecuted instantiation: njs_scope.c:njs_utf8_prev Unexecuted instantiation: njs_generator.c:njs_utf8_prev Unexecuted instantiation: njs_disassembler.c:njs_utf8_prev Unexecuted instantiation: njs_module.c:njs_utf8_prev Unexecuted instantiation: njs_extern.c:njs_utf8_prev Unexecuted instantiation: njs_number.c:njs_utf8_prev Unexecuted instantiation: njs_symbol.c:njs_utf8_prev njs_string.c:njs_utf8_prev Line | Count | Source | 78 | 54.5M | { | 79 | 54.5M | u_char c; | 80 | | | 81 | 111M | do { | 82 | 111M | p--; | 83 | | | 84 | 111M | if (njs_slow_path(p < start)) { | 85 | 62.5k | break; | 86 | 62.5k | } | 87 | | | 88 | 111M | c = *p; | 89 | | | 90 | 111M | } while ((c & 0xC0) == 0x80); | 91 | | | 92 | 0 | return p; | 93 | 54.5M | } |
Unexecuted instantiation: njs_object.c:njs_utf8_prev Unexecuted instantiation: njs_object_prop.c:njs_utf8_prev Unexecuted instantiation: njs_array.c:njs_utf8_prev Unexecuted instantiation: njs_json.c:njs_utf8_prev Unexecuted instantiation: njs_function.c:njs_utf8_prev Unexecuted instantiation: njs_regexp.c:njs_utf8_prev Unexecuted instantiation: njs_date.c:njs_utf8_prev Unexecuted instantiation: njs_error.c:njs_utf8_prev Unexecuted instantiation: njs_array_buffer.c:njs_utf8_prev Unexecuted instantiation: njs_typed_array.c:njs_utf8_prev Unexecuted instantiation: njs_promise.c:njs_utf8_prev Unexecuted instantiation: njs_iterator.c:njs_utf8_prev Unexecuted instantiation: njs_async.c:njs_utf8_prev Unexecuted instantiation: njs_builtin.c:njs_utf8_prev Unexecuted instantiation: njs_regex.c:njs_utf8_prev Unexecuted instantiation: njs_buffer.c:njs_utf8_prev Unexecuted instantiation: njs_modules.c:njs_utf8_prev Unexecuted instantiation: njs_dtoa.c:njs_utf8_prev Unexecuted instantiation: njs_dtoa_fixed.c:njs_utf8_prev Unexecuted instantiation: njs_strtod.c:njs_utf8_prev Unexecuted instantiation: njs_djb_hash.c:njs_utf8_prev Unexecuted instantiation: njs_utf8.c:njs_utf8_prev Unexecuted instantiation: njs_utf16.c:njs_utf8_prev Unexecuted instantiation: njs_flathsh.c:njs_utf8_prev Unexecuted instantiation: njs_trace.c:njs_utf8_prev Unexecuted instantiation: njs_malloc.c:njs_utf8_prev Unexecuted instantiation: njs_utils.c:njs_utf8_prev Unexecuted instantiation: njs_chb.c:njs_utf8_prev Unexecuted instantiation: njs_lexer.c:njs_utf8_prev Unexecuted instantiation: njs_boolean.c:njs_utf8_prev Unexecuted instantiation: njs_math.c:njs_utf8_prev Unexecuted instantiation: njs_encoding.c:njs_utf8_prev Unexecuted instantiation: njs_crypto_module.c:njs_utf8_prev Unexecuted instantiation: njs_webcrypto_module.c:njs_utf8_prev Unexecuted instantiation: njs_fs_module.c:njs_utf8_prev Unexecuted instantiation: njs_query_string_module.c:njs_utf8_prev Unexecuted instantiation: njs_diyfp.c:njs_utf8_prev Unexecuted instantiation: njs_str.c:njs_utf8_prev Unexecuted instantiation: njs_random.c:njs_utf8_prev |
94 | | |
95 | | |
96 | | njs_inline u_char * |
97 | | njs_utf8_copy(u_char *dst, const u_char **src, const u_char *end) |
98 | 7.26M | { |
99 | 7.26M | u_char c; |
100 | 7.26M | const u_char *p; |
101 | | |
102 | 7.26M | p = *src; |
103 | 7.26M | c = *p++; |
104 | 7.26M | *dst++ = c; |
105 | | |
106 | 7.26M | if ((c & 0x80) != 0) { |
107 | | |
108 | 5.96M | do { |
109 | 5.96M | c = *p; |
110 | | |
111 | 5.96M | if ((c & 0xC0) != 0x80) { |
112 | 1.97M | break; |
113 | 1.97M | } |
114 | | |
115 | 3.98M | *dst++ = c; |
116 | 3.98M | p++; |
117 | | |
118 | 3.98M | } while (p < end); |
119 | 1.99M | } |
120 | | |
121 | 0 | *src = p; |
122 | 7.26M | return dst; |
123 | 7.26M | } Unexecuted instantiation: njs_shell.c:njs_utf8_copy Unexecuted instantiation: njs_arr.c:njs_utf8_copy Unexecuted instantiation: njs_rbtree.c:njs_utf8_copy Unexecuted instantiation: njs_mp.c:njs_utf8_copy Unexecuted instantiation: njs_sprintf.c:njs_utf8_copy Unexecuted instantiation: njs_value.c:njs_utf8_copy Unexecuted instantiation: njs_atom.c:njs_utf8_copy Unexecuted instantiation: njs_vm.c:njs_utf8_copy Unexecuted instantiation: njs_vmcode.c:njs_utf8_copy Unexecuted instantiation: njs_parser.c:njs_utf8_copy Unexecuted instantiation: njs_variable.c:njs_utf8_copy Unexecuted instantiation: njs_scope.c:njs_utf8_copy Unexecuted instantiation: njs_generator.c:njs_utf8_copy Unexecuted instantiation: njs_disassembler.c:njs_utf8_copy Unexecuted instantiation: njs_module.c:njs_utf8_copy Unexecuted instantiation: njs_extern.c:njs_utf8_copy Unexecuted instantiation: njs_number.c:njs_utf8_copy Unexecuted instantiation: njs_symbol.c:njs_utf8_copy Unexecuted instantiation: njs_string.c:njs_utf8_copy Unexecuted instantiation: njs_object.c:njs_utf8_copy Unexecuted instantiation: njs_object_prop.c:njs_utf8_copy Unexecuted instantiation: njs_array.c:njs_utf8_copy Unexecuted instantiation: njs_function.c:njs_utf8_copy Unexecuted instantiation: njs_regexp.c:njs_utf8_copy Unexecuted instantiation: njs_date.c:njs_utf8_copy Unexecuted instantiation: njs_error.c:njs_utf8_copy Unexecuted instantiation: njs_array_buffer.c:njs_utf8_copy Unexecuted instantiation: njs_typed_array.c:njs_utf8_copy Unexecuted instantiation: njs_promise.c:njs_utf8_copy Unexecuted instantiation: njs_iterator.c:njs_utf8_copy Unexecuted instantiation: njs_async.c:njs_utf8_copy Unexecuted instantiation: njs_builtin.c:njs_utf8_copy Unexecuted instantiation: njs_regex.c:njs_utf8_copy Unexecuted instantiation: njs_buffer.c:njs_utf8_copy Unexecuted instantiation: njs_modules.c:njs_utf8_copy Unexecuted instantiation: njs_dtoa.c:njs_utf8_copy Unexecuted instantiation: njs_dtoa_fixed.c:njs_utf8_copy Unexecuted instantiation: njs_strtod.c:njs_utf8_copy Unexecuted instantiation: njs_djb_hash.c:njs_utf8_copy Unexecuted instantiation: njs_utf8.c:njs_utf8_copy Unexecuted instantiation: njs_utf16.c:njs_utf8_copy Unexecuted instantiation: njs_flathsh.c:njs_utf8_copy Unexecuted instantiation: njs_trace.c:njs_utf8_copy Unexecuted instantiation: njs_malloc.c:njs_utf8_copy Unexecuted instantiation: njs_utils.c:njs_utf8_copy Unexecuted instantiation: njs_chb.c:njs_utf8_copy Unexecuted instantiation: njs_lexer.c:njs_utf8_copy Unexecuted instantiation: njs_boolean.c:njs_utf8_copy Unexecuted instantiation: njs_math.c:njs_utf8_copy Unexecuted instantiation: njs_encoding.c:njs_utf8_copy Unexecuted instantiation: njs_crypto_module.c:njs_utf8_copy Unexecuted instantiation: njs_webcrypto_module.c:njs_utf8_copy Unexecuted instantiation: njs_fs_module.c:njs_utf8_copy Unexecuted instantiation: njs_query_string_module.c:njs_utf8_copy Unexecuted instantiation: njs_diyfp.c:njs_utf8_copy Unexecuted instantiation: njs_str.c:njs_utf8_copy Unexecuted instantiation: njs_random.c:njs_utf8_copy |
124 | | |
125 | | |
126 | | njs_inline void |
127 | | njs_utf8_decode_init(njs_unicode_decode_t *ctx) |
128 | 151M | { |
129 | 151M | ctx->need = 0x00; |
130 | 151M | ctx->lower = 0x00; |
131 | 151M | ctx->codepoint = 0; |
132 | 151M | } Unexecuted instantiation: njs_shell.c:njs_utf8_decode_init Unexecuted instantiation: njs_arr.c:njs_utf8_decode_init Unexecuted instantiation: njs_rbtree.c:njs_utf8_decode_init Unexecuted instantiation: njs_mp.c:njs_utf8_decode_init Unexecuted instantiation: njs_sprintf.c:njs_utf8_decode_init Unexecuted instantiation: njs_value.c:njs_utf8_decode_init Unexecuted instantiation: njs_atom.c:njs_utf8_decode_init Unexecuted instantiation: njs_vm.c:njs_utf8_decode_init Unexecuted instantiation: njs_vmcode.c:njs_utf8_decode_init njs_parser.c:njs_utf8_decode_init Line | Count | Source | 128 | 1.55M | { | 129 | 1.55M | ctx->need = 0x00; | 130 | 1.55M | ctx->lower = 0x00; | 131 | 1.55M | ctx->codepoint = 0; | 132 | 1.55M | } |
Unexecuted instantiation: njs_variable.c:njs_utf8_decode_init Unexecuted instantiation: njs_scope.c:njs_utf8_decode_init Unexecuted instantiation: njs_generator.c:njs_utf8_decode_init Unexecuted instantiation: njs_disassembler.c:njs_utf8_decode_init Unexecuted instantiation: njs_module.c:njs_utf8_decode_init Unexecuted instantiation: njs_extern.c:njs_utf8_decode_init Unexecuted instantiation: njs_number.c:njs_utf8_decode_init Unexecuted instantiation: njs_symbol.c:njs_utf8_decode_init njs_string.c:njs_utf8_decode_init Line | Count | Source | 128 | 131M | { | 129 | 131M | ctx->need = 0x00; | 130 | 131M | ctx->lower = 0x00; | 131 | 131M | ctx->codepoint = 0; | 132 | 131M | } |
Unexecuted instantiation: njs_object.c:njs_utf8_decode_init Unexecuted instantiation: njs_object_prop.c:njs_utf8_decode_init Unexecuted instantiation: njs_array.c:njs_utf8_decode_init njs_json.c:njs_utf8_decode_init Line | Count | Source | 128 | 131k | { | 129 | 131k | ctx->need = 0x00; | 130 | 131k | ctx->lower = 0x00; | 131 | 131k | ctx->codepoint = 0; | 132 | 131k | } |
Unexecuted instantiation: njs_function.c:njs_utf8_decode_init njs_regexp.c:njs_utf8_decode_init Line | Count | Source | 128 | 352k | { | 129 | 352k | ctx->need = 0x00; | 130 | 352k | ctx->lower = 0x00; | 131 | 352k | ctx->codepoint = 0; | 132 | 352k | } |
Unexecuted instantiation: njs_date.c:njs_utf8_decode_init Unexecuted instantiation: njs_error.c:njs_utf8_decode_init Unexecuted instantiation: njs_array_buffer.c:njs_utf8_decode_init Unexecuted instantiation: njs_typed_array.c:njs_utf8_decode_init Unexecuted instantiation: njs_promise.c:njs_utf8_decode_init Unexecuted instantiation: njs_iterator.c:njs_utf8_decode_init Unexecuted instantiation: njs_async.c:njs_utf8_decode_init Unexecuted instantiation: njs_builtin.c:njs_utf8_decode_init Unexecuted instantiation: njs_regex.c:njs_utf8_decode_init Unexecuted instantiation: njs_buffer.c:njs_utf8_decode_init Unexecuted instantiation: njs_modules.c:njs_utf8_decode_init Unexecuted instantiation: njs_dtoa.c:njs_utf8_decode_init Unexecuted instantiation: njs_dtoa_fixed.c:njs_utf8_decode_init Unexecuted instantiation: njs_strtod.c:njs_utf8_decode_init Unexecuted instantiation: njs_djb_hash.c:njs_utf8_decode_init njs_utf8.c:njs_utf8_decode_init Line | Count | Source | 128 | 394k | { | 129 | 394k | ctx->need = 0x00; | 130 | 394k | ctx->lower = 0x00; | 131 | 394k | ctx->codepoint = 0; | 132 | 394k | } |
Unexecuted instantiation: njs_utf16.c:njs_utf8_decode_init Unexecuted instantiation: njs_flathsh.c:njs_utf8_decode_init Unexecuted instantiation: njs_trace.c:njs_utf8_decode_init Unexecuted instantiation: njs_malloc.c:njs_utf8_decode_init Unexecuted instantiation: njs_utils.c:njs_utf8_decode_init Unexecuted instantiation: njs_chb.c:njs_utf8_decode_init njs_lexer.c:njs_utf8_decode_init Line | Count | Source | 128 | 17.5M | { | 129 | 17.5M | ctx->need = 0x00; | 130 | 17.5M | ctx->lower = 0x00; | 131 | 17.5M | ctx->codepoint = 0; | 132 | 17.5M | } |
Unexecuted instantiation: njs_boolean.c:njs_utf8_decode_init Unexecuted instantiation: njs_math.c:njs_utf8_decode_init Unexecuted instantiation: njs_encoding.c:njs_utf8_decode_init Unexecuted instantiation: njs_crypto_module.c:njs_utf8_decode_init Unexecuted instantiation: njs_webcrypto_module.c:njs_utf8_decode_init Unexecuted instantiation: njs_fs_module.c:njs_utf8_decode_init Unexecuted instantiation: njs_query_string_module.c:njs_utf8_decode_init Unexecuted instantiation: njs_diyfp.c:njs_utf8_decode_init Unexecuted instantiation: njs_str.c:njs_utf8_decode_init Unexecuted instantiation: njs_random.c:njs_utf8_decode_init |
133 | | |
134 | | |
135 | | njs_inline ssize_t |
136 | | njs_utf8_length(const u_char *p, size_t len) |
137 | 95.3M | { |
138 | 95.3M | njs_unicode_decode_t ctx; |
139 | | |
140 | 95.3M | njs_utf8_decode_init(&ctx); |
141 | | |
142 | 95.3M | return njs_utf8_stream_length(&ctx, p, len, 1, 1, NULL); |
143 | 95.3M | } Unexecuted instantiation: njs_shell.c:njs_utf8_length Unexecuted instantiation: njs_arr.c:njs_utf8_length Unexecuted instantiation: njs_rbtree.c:njs_utf8_length Unexecuted instantiation: njs_mp.c:njs_utf8_length Unexecuted instantiation: njs_sprintf.c:njs_utf8_length Unexecuted instantiation: njs_value.c:njs_utf8_length Unexecuted instantiation: njs_atom.c:njs_utf8_length Unexecuted instantiation: njs_vm.c:njs_utf8_length Unexecuted instantiation: njs_vmcode.c:njs_utf8_length Unexecuted instantiation: njs_parser.c:njs_utf8_length Unexecuted instantiation: njs_variable.c:njs_utf8_length Unexecuted instantiation: njs_scope.c:njs_utf8_length Unexecuted instantiation: njs_generator.c:njs_utf8_length Unexecuted instantiation: njs_disassembler.c:njs_utf8_length Unexecuted instantiation: njs_module.c:njs_utf8_length Unexecuted instantiation: njs_extern.c:njs_utf8_length Unexecuted instantiation: njs_number.c:njs_utf8_length Unexecuted instantiation: njs_symbol.c:njs_utf8_length njs_string.c:njs_utf8_length Line | Count | Source | 137 | 94.8M | { | 138 | 94.8M | njs_unicode_decode_t ctx; | 139 | | | 140 | 94.8M | njs_utf8_decode_init(&ctx); | 141 | | | 142 | 94.8M | return njs_utf8_stream_length(&ctx, p, len, 1, 1, NULL); | 143 | 94.8M | } |
Unexecuted instantiation: njs_object.c:njs_utf8_length Unexecuted instantiation: njs_object_prop.c:njs_utf8_length Unexecuted instantiation: njs_array.c:njs_utf8_length njs_json.c:njs_utf8_length Line | Count | Source | 137 | 131k | { | 138 | 131k | njs_unicode_decode_t ctx; | 139 | | | 140 | 131k | njs_utf8_decode_init(&ctx); | 141 | | | 142 | 131k | return njs_utf8_stream_length(&ctx, p, len, 1, 1, NULL); | 143 | 131k | } |
Unexecuted instantiation: njs_function.c:njs_utf8_length njs_regexp.c:njs_utf8_length Line | Count | Source | 137 | 351k | { | 138 | 351k | njs_unicode_decode_t ctx; | 139 | | | 140 | 351k | njs_utf8_decode_init(&ctx); | 141 | | | 142 | 351k | return njs_utf8_stream_length(&ctx, p, len, 1, 1, NULL); | 143 | 351k | } |
Unexecuted instantiation: njs_date.c:njs_utf8_length Unexecuted instantiation: njs_error.c:njs_utf8_length Unexecuted instantiation: njs_array_buffer.c:njs_utf8_length Unexecuted instantiation: njs_typed_array.c:njs_utf8_length Unexecuted instantiation: njs_promise.c:njs_utf8_length Unexecuted instantiation: njs_iterator.c:njs_utf8_length Unexecuted instantiation: njs_async.c:njs_utf8_length Unexecuted instantiation: njs_builtin.c:njs_utf8_length Unexecuted instantiation: njs_regex.c:njs_utf8_length Unexecuted instantiation: njs_buffer.c:njs_utf8_length Unexecuted instantiation: njs_modules.c:njs_utf8_length Unexecuted instantiation: njs_dtoa.c:njs_utf8_length Unexecuted instantiation: njs_dtoa_fixed.c:njs_utf8_length Unexecuted instantiation: njs_strtod.c:njs_utf8_length Unexecuted instantiation: njs_djb_hash.c:njs_utf8_length Unexecuted instantiation: njs_utf8.c:njs_utf8_length Unexecuted instantiation: njs_utf16.c:njs_utf8_length Unexecuted instantiation: njs_flathsh.c:njs_utf8_length Unexecuted instantiation: njs_trace.c:njs_utf8_length Unexecuted instantiation: njs_malloc.c:njs_utf8_length Unexecuted instantiation: njs_utils.c:njs_utf8_length Unexecuted instantiation: njs_chb.c:njs_utf8_length Unexecuted instantiation: njs_lexer.c:njs_utf8_length Unexecuted instantiation: njs_boolean.c:njs_utf8_length Unexecuted instantiation: njs_math.c:njs_utf8_length Unexecuted instantiation: njs_encoding.c:njs_utf8_length Unexecuted instantiation: njs_crypto_module.c:njs_utf8_length Unexecuted instantiation: njs_webcrypto_module.c:njs_utf8_length Unexecuted instantiation: njs_fs_module.c:njs_utf8_length Unexecuted instantiation: njs_query_string_module.c:njs_utf8_length Unexecuted instantiation: njs_diyfp.c:njs_utf8_length Unexecuted instantiation: njs_str.c:njs_utf8_length Unexecuted instantiation: njs_random.c:njs_utf8_length |
144 | | |
145 | | |
146 | | njs_inline size_t |
147 | | njs_utf8_bom(const u_char *start, const u_char *end) |
148 | 0 | { |
149 | 0 | if (start + 3 > end) { |
150 | 0 | return 0; |
151 | 0 | } |
152 | | |
153 | 0 | if (start[0] == 0xEF && start[1] == 0xBB && start[2] == 0xBF) { |
154 | 0 | return 3; |
155 | 0 | } |
156 | | |
157 | 0 | return 0; |
158 | 0 | } Unexecuted instantiation: njs_shell.c:njs_utf8_bom Unexecuted instantiation: njs_arr.c:njs_utf8_bom Unexecuted instantiation: njs_rbtree.c:njs_utf8_bom Unexecuted instantiation: njs_mp.c:njs_utf8_bom Unexecuted instantiation: njs_sprintf.c:njs_utf8_bom Unexecuted instantiation: njs_value.c:njs_utf8_bom Unexecuted instantiation: njs_atom.c:njs_utf8_bom Unexecuted instantiation: njs_vm.c:njs_utf8_bom Unexecuted instantiation: njs_vmcode.c:njs_utf8_bom Unexecuted instantiation: njs_parser.c:njs_utf8_bom Unexecuted instantiation: njs_variable.c:njs_utf8_bom Unexecuted instantiation: njs_scope.c:njs_utf8_bom Unexecuted instantiation: njs_generator.c:njs_utf8_bom Unexecuted instantiation: njs_disassembler.c:njs_utf8_bom Unexecuted instantiation: njs_module.c:njs_utf8_bom Unexecuted instantiation: njs_extern.c:njs_utf8_bom Unexecuted instantiation: njs_number.c:njs_utf8_bom Unexecuted instantiation: njs_symbol.c:njs_utf8_bom Unexecuted instantiation: njs_string.c:njs_utf8_bom Unexecuted instantiation: njs_object.c:njs_utf8_bom Unexecuted instantiation: njs_object_prop.c:njs_utf8_bom Unexecuted instantiation: njs_array.c:njs_utf8_bom Unexecuted instantiation: njs_json.c:njs_utf8_bom Unexecuted instantiation: njs_function.c:njs_utf8_bom Unexecuted instantiation: njs_regexp.c:njs_utf8_bom Unexecuted instantiation: njs_date.c:njs_utf8_bom Unexecuted instantiation: njs_error.c:njs_utf8_bom Unexecuted instantiation: njs_array_buffer.c:njs_utf8_bom Unexecuted instantiation: njs_typed_array.c:njs_utf8_bom Unexecuted instantiation: njs_promise.c:njs_utf8_bom Unexecuted instantiation: njs_iterator.c:njs_utf8_bom Unexecuted instantiation: njs_async.c:njs_utf8_bom Unexecuted instantiation: njs_builtin.c:njs_utf8_bom Unexecuted instantiation: njs_regex.c:njs_utf8_bom Unexecuted instantiation: njs_buffer.c:njs_utf8_bom Unexecuted instantiation: njs_modules.c:njs_utf8_bom Unexecuted instantiation: njs_dtoa.c:njs_utf8_bom Unexecuted instantiation: njs_dtoa_fixed.c:njs_utf8_bom Unexecuted instantiation: njs_strtod.c:njs_utf8_bom Unexecuted instantiation: njs_djb_hash.c:njs_utf8_bom Unexecuted instantiation: njs_utf8.c:njs_utf8_bom Unexecuted instantiation: njs_utf16.c:njs_utf8_bom Unexecuted instantiation: njs_flathsh.c:njs_utf8_bom Unexecuted instantiation: njs_trace.c:njs_utf8_bom Unexecuted instantiation: njs_malloc.c:njs_utf8_bom Unexecuted instantiation: njs_utils.c:njs_utf8_bom Unexecuted instantiation: njs_chb.c:njs_utf8_bom Unexecuted instantiation: njs_lexer.c:njs_utf8_bom Unexecuted instantiation: njs_boolean.c:njs_utf8_bom Unexecuted instantiation: njs_math.c:njs_utf8_bom Unexecuted instantiation: njs_encoding.c:njs_utf8_bom Unexecuted instantiation: njs_crypto_module.c:njs_utf8_bom Unexecuted instantiation: njs_webcrypto_module.c:njs_utf8_bom Unexecuted instantiation: njs_fs_module.c:njs_utf8_bom Unexecuted instantiation: njs_query_string_module.c:njs_utf8_bom Unexecuted instantiation: njs_diyfp.c:njs_utf8_bom Unexecuted instantiation: njs_str.c:njs_utf8_bom Unexecuted instantiation: njs_random.c:njs_utf8_bom |
159 | | |
160 | | |
161 | | njs_inline size_t |
162 | | njs_utf8_size(uint32_t cp) |
163 | 721M | { |
164 | 721M | return (cp < 0x80) ? 1 : ((cp < 0x0800) ? 2 : ((cp < 0x10000) ? 3 : 4)); |
165 | 721M | } Unexecuted instantiation: njs_shell.c:njs_utf8_size Unexecuted instantiation: njs_arr.c:njs_utf8_size Unexecuted instantiation: njs_rbtree.c:njs_utf8_size Unexecuted instantiation: njs_mp.c:njs_utf8_size Unexecuted instantiation: njs_sprintf.c:njs_utf8_size Unexecuted instantiation: njs_value.c:njs_utf8_size Unexecuted instantiation: njs_atom.c:njs_utf8_size Unexecuted instantiation: njs_vm.c:njs_utf8_size Unexecuted instantiation: njs_vmcode.c:njs_utf8_size njs_parser.c:njs_utf8_size Line | Count | Source | 163 | 809k | { | 164 | 809k | return (cp < 0x80) ? 1 : ((cp < 0x0800) ? 2 : ((cp < 0x10000) ? 3 : 4)); | 165 | 809k | } |
Unexecuted instantiation: njs_variable.c:njs_utf8_size Unexecuted instantiation: njs_scope.c:njs_utf8_size Unexecuted instantiation: njs_generator.c:njs_utf8_size Unexecuted instantiation: njs_disassembler.c:njs_utf8_size Unexecuted instantiation: njs_module.c:njs_utf8_size Unexecuted instantiation: njs_extern.c:njs_utf8_size Unexecuted instantiation: njs_number.c:njs_utf8_size Unexecuted instantiation: njs_symbol.c:njs_utf8_size njs_string.c:njs_utf8_size Line | Count | Source | 163 | 34.6M | { | 164 | 34.6M | return (cp < 0x80) ? 1 : ((cp < 0x0800) ? 2 : ((cp < 0x10000) ? 3 : 4)); | 165 | 34.6M | } |
Unexecuted instantiation: njs_object.c:njs_utf8_size Unexecuted instantiation: njs_object_prop.c:njs_utf8_size Unexecuted instantiation: njs_array.c:njs_utf8_size Unexecuted instantiation: njs_json.c:njs_utf8_size Unexecuted instantiation: njs_function.c:njs_utf8_size Unexecuted instantiation: njs_regexp.c:njs_utf8_size Unexecuted instantiation: njs_date.c:njs_utf8_size Unexecuted instantiation: njs_error.c:njs_utf8_size Unexecuted instantiation: njs_array_buffer.c:njs_utf8_size Unexecuted instantiation: njs_typed_array.c:njs_utf8_size Unexecuted instantiation: njs_promise.c:njs_utf8_size Unexecuted instantiation: njs_iterator.c:njs_utf8_size Unexecuted instantiation: njs_async.c:njs_utf8_size Unexecuted instantiation: njs_builtin.c:njs_utf8_size Unexecuted instantiation: njs_regex.c:njs_utf8_size Unexecuted instantiation: njs_buffer.c:njs_utf8_size Unexecuted instantiation: njs_modules.c:njs_utf8_size Unexecuted instantiation: njs_dtoa.c:njs_utf8_size Unexecuted instantiation: njs_dtoa_fixed.c:njs_utf8_size Unexecuted instantiation: njs_strtod.c:njs_utf8_size Unexecuted instantiation: njs_djb_hash.c:njs_utf8_size Line | Count | Source | 163 | 686M | { | 164 | 686M | return (cp < 0x80) ? 1 : ((cp < 0x0800) ? 2 : ((cp < 0x10000) ? 3 : 4)); | 165 | 686M | } |
Unexecuted instantiation: njs_utf16.c:njs_utf8_size Unexecuted instantiation: njs_flathsh.c:njs_utf8_size Unexecuted instantiation: njs_trace.c:njs_utf8_size Unexecuted instantiation: njs_malloc.c:njs_utf8_size Unexecuted instantiation: njs_utils.c:njs_utf8_size Unexecuted instantiation: njs_chb.c:njs_utf8_size Unexecuted instantiation: njs_lexer.c:njs_utf8_size Unexecuted instantiation: njs_boolean.c:njs_utf8_size Unexecuted instantiation: njs_math.c:njs_utf8_size Unexecuted instantiation: njs_encoding.c:njs_utf8_size Unexecuted instantiation: njs_crypto_module.c:njs_utf8_size Unexecuted instantiation: njs_webcrypto_module.c:njs_utf8_size Unexecuted instantiation: njs_fs_module.c:njs_utf8_size Unexecuted instantiation: njs_query_string_module.c:njs_utf8_size Unexecuted instantiation: njs_diyfp.c:njs_utf8_size Unexecuted instantiation: njs_str.c:njs_utf8_size Unexecuted instantiation: njs_random.c:njs_utf8_size |
166 | | |
167 | | |
168 | | njs_inline size_t |
169 | | njs_utf8_size_uint16(uint32_t cp) |
170 | 0 | { |
171 | 0 | return ((cp < 0x80) ? 1 : ((cp < 0x0800) ? 2 : 3)); |
172 | 0 | } Unexecuted instantiation: njs_shell.c:njs_utf8_size_uint16 Unexecuted instantiation: njs_arr.c:njs_utf8_size_uint16 Unexecuted instantiation: njs_rbtree.c:njs_utf8_size_uint16 Unexecuted instantiation: njs_mp.c:njs_utf8_size_uint16 Unexecuted instantiation: njs_sprintf.c:njs_utf8_size_uint16 Unexecuted instantiation: njs_value.c:njs_utf8_size_uint16 Unexecuted instantiation: njs_atom.c:njs_utf8_size_uint16 Unexecuted instantiation: njs_vm.c:njs_utf8_size_uint16 Unexecuted instantiation: njs_vmcode.c:njs_utf8_size_uint16 Unexecuted instantiation: njs_parser.c:njs_utf8_size_uint16 Unexecuted instantiation: njs_variable.c:njs_utf8_size_uint16 Unexecuted instantiation: njs_scope.c:njs_utf8_size_uint16 Unexecuted instantiation: njs_generator.c:njs_utf8_size_uint16 Unexecuted instantiation: njs_disassembler.c:njs_utf8_size_uint16 Unexecuted instantiation: njs_module.c:njs_utf8_size_uint16 Unexecuted instantiation: njs_extern.c:njs_utf8_size_uint16 Unexecuted instantiation: njs_number.c:njs_utf8_size_uint16 Unexecuted instantiation: njs_symbol.c:njs_utf8_size_uint16 Unexecuted instantiation: njs_string.c:njs_utf8_size_uint16 Unexecuted instantiation: njs_object.c:njs_utf8_size_uint16 Unexecuted instantiation: njs_object_prop.c:njs_utf8_size_uint16 Unexecuted instantiation: njs_array.c:njs_utf8_size_uint16 Unexecuted instantiation: njs_json.c:njs_utf8_size_uint16 Unexecuted instantiation: njs_function.c:njs_utf8_size_uint16 Unexecuted instantiation: njs_regexp.c:njs_utf8_size_uint16 Unexecuted instantiation: njs_date.c:njs_utf8_size_uint16 Unexecuted instantiation: njs_error.c:njs_utf8_size_uint16 Unexecuted instantiation: njs_array_buffer.c:njs_utf8_size_uint16 Unexecuted instantiation: njs_typed_array.c:njs_utf8_size_uint16 Unexecuted instantiation: njs_promise.c:njs_utf8_size_uint16 Unexecuted instantiation: njs_iterator.c:njs_utf8_size_uint16 Unexecuted instantiation: njs_async.c:njs_utf8_size_uint16 Unexecuted instantiation: njs_builtin.c:njs_utf8_size_uint16 Unexecuted instantiation: njs_regex.c:njs_utf8_size_uint16 Unexecuted instantiation: njs_buffer.c:njs_utf8_size_uint16 Unexecuted instantiation: njs_modules.c:njs_utf8_size_uint16 Unexecuted instantiation: njs_dtoa.c:njs_utf8_size_uint16 Unexecuted instantiation: njs_dtoa_fixed.c:njs_utf8_size_uint16 Unexecuted instantiation: njs_strtod.c:njs_utf8_size_uint16 Unexecuted instantiation: njs_djb_hash.c:njs_utf8_size_uint16 Unexecuted instantiation: njs_utf8.c:njs_utf8_size_uint16 Unexecuted instantiation: njs_utf16.c:njs_utf8_size_uint16 Unexecuted instantiation: njs_flathsh.c:njs_utf8_size_uint16 Unexecuted instantiation: njs_trace.c:njs_utf8_size_uint16 Unexecuted instantiation: njs_malloc.c:njs_utf8_size_uint16 Unexecuted instantiation: njs_utils.c:njs_utf8_size_uint16 Unexecuted instantiation: njs_chb.c:njs_utf8_size_uint16 Unexecuted instantiation: njs_lexer.c:njs_utf8_size_uint16 Unexecuted instantiation: njs_boolean.c:njs_utf8_size_uint16 Unexecuted instantiation: njs_math.c:njs_utf8_size_uint16 Unexecuted instantiation: njs_encoding.c:njs_utf8_size_uint16 Unexecuted instantiation: njs_crypto_module.c:njs_utf8_size_uint16 Unexecuted instantiation: njs_webcrypto_module.c:njs_utf8_size_uint16 Unexecuted instantiation: njs_fs_module.c:njs_utf8_size_uint16 Unexecuted instantiation: njs_query_string_module.c:njs_utf8_size_uint16 Unexecuted instantiation: njs_diyfp.c:njs_utf8_size_uint16 Unexecuted instantiation: njs_str.c:njs_utf8_size_uint16 Unexecuted instantiation: njs_random.c:njs_utf8_size_uint16 |
173 | | |
174 | | |
175 | | njs_inline njs_bool_t |
176 | | njs_utf8_is_whitespace(uint32_t c) |
177 | 817k | { |
178 | 817k | switch (c) { |
179 | 69.0k | case 0x0009: /* <TAB> */ |
180 | 71.1k | case 0x000A: /* <LF> */ |
181 | 76.6k | case 0x000B: /* <VT> */ |
182 | 92.6k | case 0x000C: /* <FF> */ |
183 | 188k | case 0x000D: /* <CR> */ |
184 | 194k | case 0x0020: /* <SP> */ |
185 | 197k | case 0x00A0: /* <NBSP> */ |
186 | 200k | case 0x1680: |
187 | 201k | case 0x2000: |
188 | 203k | case 0x2001: |
189 | 205k | case 0x2002: |
190 | 214k | case 0x2003: |
191 | 216k | case 0x2004: |
192 | 218k | case 0x2005: |
193 | 220k | case 0x2006: |
194 | 225k | case 0x2007: |
195 | 227k | case 0x2008: |
196 | 231k | case 0x2009: |
197 | 233k | case 0x200A: |
198 | 236k | case 0x2028: /* <LS> */ |
199 | 244k | case 0x2029: /* <PS> */ |
200 | 250k | case 0x202F: |
201 | 251k | case 0x205F: |
202 | 251k | case 0x3000: |
203 | 254k | case 0xFEFF: /* <BOM> */ |
204 | 254k | return 1; |
205 | | |
206 | 562k | default: |
207 | 562k | return 0; |
208 | 817k | } |
209 | 817k | } Unexecuted instantiation: njs_shell.c:njs_utf8_is_whitespace Unexecuted instantiation: njs_arr.c:njs_utf8_is_whitespace Unexecuted instantiation: njs_rbtree.c:njs_utf8_is_whitespace Unexecuted instantiation: njs_mp.c:njs_utf8_is_whitespace Unexecuted instantiation: njs_sprintf.c:njs_utf8_is_whitespace Unexecuted instantiation: njs_value.c:njs_utf8_is_whitespace Unexecuted instantiation: njs_atom.c:njs_utf8_is_whitespace Unexecuted instantiation: njs_vm.c:njs_utf8_is_whitespace Unexecuted instantiation: njs_vmcode.c:njs_utf8_is_whitespace Unexecuted instantiation: njs_parser.c:njs_utf8_is_whitespace Unexecuted instantiation: njs_variable.c:njs_utf8_is_whitespace Unexecuted instantiation: njs_scope.c:njs_utf8_is_whitespace Unexecuted instantiation: njs_generator.c:njs_utf8_is_whitespace Unexecuted instantiation: njs_disassembler.c:njs_utf8_is_whitespace Unexecuted instantiation: njs_module.c:njs_utf8_is_whitespace Unexecuted instantiation: njs_extern.c:njs_utf8_is_whitespace Unexecuted instantiation: njs_number.c:njs_utf8_is_whitespace Unexecuted instantiation: njs_symbol.c:njs_utf8_is_whitespace njs_string.c:njs_utf8_is_whitespace Line | Count | Source | 177 | 781k | { | 178 | 781k | switch (c) { | 179 | 69.0k | case 0x0009: /* <TAB> */ | 180 | 71.1k | case 0x000A: /* <LF> */ | 181 | 76.6k | case 0x000B: /* <VT> */ | 182 | 92.6k | case 0x000C: /* <FF> */ | 183 | 188k | case 0x000D: /* <CR> */ | 184 | 194k | case 0x0020: /* <SP> */ | 185 | 197k | case 0x00A0: /* <NBSP> */ | 186 | 198k | case 0x1680: | 187 | 199k | case 0x2000: | 188 | 200k | case 0x2001: | 189 | 201k | case 0x2002: | 190 | 202k | case 0x2003: | 191 | 203k | case 0x2004: | 192 | 205k | case 0x2005: | 193 | 207k | case 0x2006: | 194 | 209k | case 0x2007: | 195 | 211k | case 0x2008: | 196 | 213k | case 0x2009: | 197 | 215k | case 0x200A: | 198 | 216k | case 0x2028: /* <LS> */ | 199 | 223k | case 0x2029: /* <PS> */ | 200 | 229k | case 0x202F: | 201 | 230k | case 0x205F: | 202 | 230k | case 0x3000: | 203 | 231k | case 0xFEFF: /* <BOM> */ | 204 | 231k | return 1; | 205 | | | 206 | 550k | default: | 207 | 550k | return 0; | 208 | 781k | } | 209 | 781k | } |
Unexecuted instantiation: njs_object.c:njs_utf8_is_whitespace Unexecuted instantiation: njs_object_prop.c:njs_utf8_is_whitespace Unexecuted instantiation: njs_array.c:njs_utf8_is_whitespace Unexecuted instantiation: njs_json.c:njs_utf8_is_whitespace Unexecuted instantiation: njs_function.c:njs_utf8_is_whitespace Unexecuted instantiation: njs_regexp.c:njs_utf8_is_whitespace Unexecuted instantiation: njs_date.c:njs_utf8_is_whitespace Unexecuted instantiation: njs_error.c:njs_utf8_is_whitespace Unexecuted instantiation: njs_array_buffer.c:njs_utf8_is_whitespace Unexecuted instantiation: njs_typed_array.c:njs_utf8_is_whitespace Unexecuted instantiation: njs_promise.c:njs_utf8_is_whitespace Unexecuted instantiation: njs_iterator.c:njs_utf8_is_whitespace Unexecuted instantiation: njs_async.c:njs_utf8_is_whitespace Unexecuted instantiation: njs_builtin.c:njs_utf8_is_whitespace Unexecuted instantiation: njs_regex.c:njs_utf8_is_whitespace Unexecuted instantiation: njs_buffer.c:njs_utf8_is_whitespace Unexecuted instantiation: njs_modules.c:njs_utf8_is_whitespace Unexecuted instantiation: njs_dtoa.c:njs_utf8_is_whitespace Unexecuted instantiation: njs_dtoa_fixed.c:njs_utf8_is_whitespace Unexecuted instantiation: njs_strtod.c:njs_utf8_is_whitespace Unexecuted instantiation: njs_djb_hash.c:njs_utf8_is_whitespace Unexecuted instantiation: njs_utf8.c:njs_utf8_is_whitespace Unexecuted instantiation: njs_utf16.c:njs_utf8_is_whitespace Unexecuted instantiation: njs_flathsh.c:njs_utf8_is_whitespace Unexecuted instantiation: njs_trace.c:njs_utf8_is_whitespace Unexecuted instantiation: njs_malloc.c:njs_utf8_is_whitespace Unexecuted instantiation: njs_utils.c:njs_utf8_is_whitespace Unexecuted instantiation: njs_chb.c:njs_utf8_is_whitespace njs_lexer.c:njs_utf8_is_whitespace Line | Count | Source | 177 | 35.4k | { | 178 | 35.4k | switch (c) { | 179 | 0 | case 0x0009: /* <TAB> */ | 180 | 0 | case 0x000A: /* <LF> */ | 181 | 0 | case 0x000B: /* <VT> */ | 182 | 0 | case 0x000C: /* <FF> */ | 183 | 0 | case 0x000D: /* <CR> */ | 184 | 0 | case 0x0020: /* <SP> */ | 185 | 0 | case 0x00A0: /* <NBSP> */ | 186 | 1.41k | case 0x1680: | 187 | 2.16k | case 0x2000: | 188 | 2.70k | case 0x2001: | 189 | 3.99k | case 0x2002: | 190 | 12.2k | case 0x2003: | 191 | 12.4k | case 0x2004: | 192 | 13.1k | case 0x2005: | 193 | 13.5k | case 0x2006: | 194 | 15.5k | case 0x2007: | 195 | 15.7k | case 0x2008: | 196 | 17.6k | case 0x2009: | 197 | 18.1k | case 0x200A: | 198 | 19.5k | case 0x2028: /* <LS> */ | 199 | 20.8k | case 0x2029: /* <PS> */ | 200 | 20.8k | case 0x202F: | 201 | 20.9k | case 0x205F: | 202 | 21.1k | case 0x3000: | 203 | 23.1k | case 0xFEFF: /* <BOM> */ | 204 | 23.1k | return 1; | 205 | | | 206 | 12.3k | default: | 207 | 12.3k | return 0; | 208 | 35.4k | } | 209 | 35.4k | } |
Unexecuted instantiation: njs_boolean.c:njs_utf8_is_whitespace Unexecuted instantiation: njs_math.c:njs_utf8_is_whitespace Unexecuted instantiation: njs_encoding.c:njs_utf8_is_whitespace Unexecuted instantiation: njs_crypto_module.c:njs_utf8_is_whitespace Unexecuted instantiation: njs_webcrypto_module.c:njs_utf8_is_whitespace Unexecuted instantiation: njs_fs_module.c:njs_utf8_is_whitespace Unexecuted instantiation: njs_query_string_module.c:njs_utf8_is_whitespace Unexecuted instantiation: njs_diyfp.c:njs_utf8_is_whitespace Unexecuted instantiation: njs_str.c:njs_utf8_is_whitespace Unexecuted instantiation: njs_random.c:njs_utf8_is_whitespace |
210 | | |
211 | | |
212 | | #endif /* _NJS_UTF8_H_INCLUDED_ */ |