mirror of
https://github.com/Chatterino/chatterino2.git
synced 2024-11-21 22:24:07 +01:00
Fix tag string parsing
This commit is contained in:
parent
5c8e736518
commit
d584852bc0
1 changed files with 9 additions and 14 deletions
|
@ -10,48 +10,43 @@ inline QString parseTagString(const QString &input)
|
||||||
QString output = input;
|
QString output = input;
|
||||||
output.detach();
|
output.detach();
|
||||||
|
|
||||||
bool changed = false;
|
auto length = output.length();
|
||||||
|
|
||||||
for (int i = 0; i < output.length() - 1; i++) {
|
for (int i = 0; i < length - 1; i++) {
|
||||||
if (output[i] == '\\') {
|
if (output[i] == '\\') {
|
||||||
QChar c = output[i + 1];
|
QChar c = output[i + 1];
|
||||||
|
|
||||||
switch (c.cell()) {
|
switch (c.cell()) {
|
||||||
case 'n': {
|
case 'n': {
|
||||||
output[i] = '\n';
|
output.replace(i, 2, '\n');
|
||||||
} break;
|
} break;
|
||||||
|
|
||||||
case 'r': {
|
case 'r': {
|
||||||
output[i] = '\r';
|
output.replace(i, 2, '\r');
|
||||||
} break;
|
} break;
|
||||||
|
|
||||||
case 's': {
|
case 's': {
|
||||||
output[i] = ' ';
|
output.replace(i, 2, ' ');
|
||||||
} break;
|
} break;
|
||||||
|
|
||||||
case '\\': {
|
case '\\': {
|
||||||
output[i] = '\\';
|
output.replace(i, 2, '\\');
|
||||||
} break;
|
} break;
|
||||||
|
|
||||||
case ':': {
|
case ':': {
|
||||||
output[i] = ';';
|
output.replace(i, 2, ';');
|
||||||
} break;
|
} break;
|
||||||
|
|
||||||
default: {
|
default: {
|
||||||
output[i] = output[i + 1];
|
output.remove(i, 1);
|
||||||
} break;
|
} break;
|
||||||
}
|
}
|
||||||
|
|
||||||
output[i + 1] = '\0';
|
|
||||||
changed = true;
|
|
||||||
i++;
|
i++;
|
||||||
|
length--;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (changed) {
|
|
||||||
return output.replace("\0", "");
|
|
||||||
}
|
|
||||||
|
|
||||||
return output;
|
return output;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue