Skip to content

Commit 9757f5c

Browse files
committed
Undo = loop
1 parent eca9f8f commit 9757f5c

File tree

1 file changed

+11
-6
lines changed

1 file changed

+11
-6
lines changed

index.js

+11-6
Original file line numberDiff line numberDiff line change
@@ -102,14 +102,19 @@ function parse(str, options) {
102102
var index = 0;
103103

104104
while (index < str.length) {
105-
var endIdx = str.indexOf(';', index);
106-
if (endIdx === -1) endIdx = str.length;
105+
var eqIdx = str.indexOf('=', index);
106+
107+
// no more cookie pairs
108+
if (eqIdx === -1) {
109+
break;
110+
}
107111

108-
var eqIdx = index;
109-
while (eqIdx < endIdx && str.charCodeAt(eqIdx) !== 0x3D /* = */) eqIdx++;
112+
var endIdx = str.indexOf(';', index);
110113

111-
if (eqIdx === endIdx) {
112-
index = endIdx + 1;
114+
if (endIdx === -1) {
115+
endIdx = str.length;
116+
} else if (eqIdx > endIdx) {
117+
index = str.lastIndexOf(';', eqIdx - 1) + 1;
113118
continue;
114119
}
115120

0 commit comments

Comments
 (0)