[Modify] Polish it
This commit is contained in:
parent
2d47d5e663
commit
e9a9e925c8
@ -825,34 +825,45 @@ namespace WebSocketSharp
|
||||
var seps = new string (separators);
|
||||
|
||||
var buff = new StringBuilder (32);
|
||||
var end = len - 1;
|
||||
var escaped = false;
|
||||
var quoted = false;
|
||||
|
||||
for (var i = 0; i < len; i++) {
|
||||
for (var i = 0; i <= end; i++) {
|
||||
var c = value[i];
|
||||
buff.Append (c);
|
||||
|
||||
if (c == '"') {
|
||||
if (escaped)
|
||||
escaped = !escaped;
|
||||
else
|
||||
if (escaped) {
|
||||
escaped = false;
|
||||
continue;
|
||||
}
|
||||
|
||||
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;
|
||||
|
||||
continue;
|
||||
}
|
||||
else if (seps.Contains (c)) {
|
||||
if (!quoted) {
|
||||
|
||||
if (seps.Contains (c)) {
|
||||
if (quoted)
|
||||
continue;
|
||||
|
||||
buff.Length -= 1;
|
||||
yield return buff.ToString ();
|
||||
|
||||
buff.Length = 0;
|
||||
continue;
|
||||
}
|
||||
}
|
||||
else {
|
||||
}
|
||||
|
||||
buff.Append (c);
|
||||
}
|
||||
|
||||
yield return buff.ToString ();
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user