Skip to content

Commit e60a948

Browse files
committed
cosocket: did a minor optimization for receiveuntil patterns no longer than 2 bytes.
1 parent 7a4cbfb commit e60a948

File tree

2 files changed

+24
-13
lines changed

2 files changed

+24
-13
lines changed

misc/recv-until-pm/t/sanity.t

Lines changed: 20 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -35,97 +35,104 @@ __DATA__
3535
3636
3737
=== TEST 3:
38+
--- pat: ab
39+
--- txt: bbcabcaad
40+
--- out: bbc
41+
42+
43+
44+
=== TEST 4:
3845
--- pat: aaa
3946
--- txt: abaabcaaaef
4047
--- out: abaabc
4148
4249
4350
44-
=== TEST 4:
51+
=== TEST 5:
4552
--- pat: aaaaad
4653
--- txt: baaaaaaaaeaaaaaaadf
4754
--- out: baaaaaaaaeaa
4855
4956
5057
51-
=== TEST 5:
58+
=== TEST 6:
5259
--- pat: abacadae
5360
--- txt: a
5461
--- out:
5562
5663
5764
58-
=== TEST 6:
65+
=== TEST 7:
5966
--- pat: abacadae
6067
--- txt: ababacadae
6168
--- out: ab
6269
6370
6471
65-
=== TEST 7:
72+
=== TEST 8:
6673
--- pat: abacadae
6774
--- txt: abacabacadae
6875
--- out: abac
6976
7077
7178
72-
=== TEST 8:
79+
=== TEST 9:
7380
--- pat: abacadae
7481
--- txt: abaabacadae
7582
--- out: aba
7683
7784
7885
79-
=== TEST 9:
86+
=== TEST 10:
8087
--- pat: abacadae
8188
--- txt: abacadabacadae
8289
--- out: abacad
8390
8491
8592
86-
=== TEST 10:
93+
=== TEST 11:
8794
--- pat: abcabdabcabe
8895
--- txt: abcabdabcabdabcabe
8996
--- out: abcabd
9097
9198
9299
93-
=== TEST 11:
100+
=== TEST 12:
94101
--- pat: abcabdabcabe
95102
--- txt: abcabdabcabcabdabcabe
96103
--- out: abcabdabc
97104
98105
99106
100-
=== TEST 12:
107+
=== TEST 13:
101108
--- pat: abcabdabcabe
102109
--- txt: abcabcabdabcabe
103110
--- out: abc
104111
105112
106113
107-
=== TEST 13:
114+
=== TEST 14:
108115
--- pat: abcabdabcabe
109116
--- txt: ababcabdabcabe
110117
--- out: ab
111118
112119
113120
114-
=== TEST 14:
121+
=== TEST 15:
115122
--- pat: abcdef
116123
--- txt: abcabcdef
117124
--- out: abc
118125
119126
120127
121-
=== TEST 15:
128+
=== TEST 16:
122129
--- pat: -- abc
123130
--- txt: ---- abc
124131
--- out: --
125132
126133
127134
128-
=== TEST 16:
135+
=== TEST 17:
129136
--- pat: yz--ababyz
130137
--- txt:
131138
--- out: --

src/ngx_http_lua_socket.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2111,6 +2111,10 @@ ngx_http_lua_socket_compile_pattern(u_char *data, size_t len,
21112111

21122112
cp->pattern.len = len;
21132113

2114+
if (len <= 2) {
2115+
return NGX_OK;
2116+
}
2117+
21142118
for (i = 1; i < len; i++) {
21152119
prefix_len = 1;
21162120

0 commit comments

Comments
 (0)