[Modify] Polish it

master
sta 8 years ago
parent 2d47d5e663
commit e9a9e925c8

@ -825,33 +825,44 @@ namespace WebSocketSharp
var seps = new string (separators); var seps = new string (separators);
var buff = new StringBuilder (32); var buff = new StringBuilder (32);
var end = len - 1;
var escaped = false; var escaped = false;
var quoted = false; var quoted = false;
for (var i = 0; i < len; i++) { for (var i = 0; i <= end; i++) {
var c = value[i]; var c = value[i];
buff.Append (c);
if (c == '"') { if (c == '"') {
if (escaped) if (escaped) {
escaped = !escaped; escaped = false;
else continue;
quoted = !quoted; }
quoted = !quoted;
continue;
} }
else if (c == '\\') {
if (i < len - 1 && value[i + 1] == '"') if (c == '\\') {
if (i == end)
break;
if (value[i + 1] == '"')
escaped = true; escaped = true;
continue;
} }
else if (seps.Contains (c)) {
if (!quoted) {
yield return buff.ToString ();
buff.Length = 0; if (seps.Contains (c)) {
if (quoted)
continue; continue;
}
}
else {
}
buff.Append (c); buff.Length -= 1;
yield return buff.ToString ();
buff.Length = 0;
continue;
}
} }
yield return buff.ToString (); yield return buff.ToString ();

Loading…
Cancel
Save