mirror of
https://codeberg.org/emersion/gamja
synced 2025-03-13 07:48:37 +01:00
Unescape ISUPPORT values
This allows ISUPPORT values to contain spaces. References: https://github.com/ircdocs/modern-irc/pull/137
This commit is contained in:
parent
34aea84dde
commit
12440691c9
@ -364,6 +364,13 @@ export function parseCTCP(msg) {
|
|||||||
return ctcp;
|
return ctcp;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function unescapeISUPPORTValue(s) {
|
||||||
|
return s.replace(/\\x[0-9A-Z]{2}/gi, (esc) => {
|
||||||
|
let hex = esc.slice(2);
|
||||||
|
return String.fromCharCode(parseInt(hex, 16));
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
export function parseISUPPORT(tokens, params) {
|
export function parseISUPPORT(tokens, params) {
|
||||||
let changed = [];
|
let changed = [];
|
||||||
tokens.forEach((tok) => {
|
tokens.forEach((tok) => {
|
||||||
@ -377,7 +384,7 @@ export function parseISUPPORT(tokens, params) {
|
|||||||
let k = tok, v = "";
|
let k = tok, v = "";
|
||||||
if (i >= 0) {
|
if (i >= 0) {
|
||||||
k = tok.slice(0, i);
|
k = tok.slice(0, i);
|
||||||
v = tok.slice(i + 1);
|
v = unescapeISUPPORTValue(tok.slice(i + 1));
|
||||||
}
|
}
|
||||||
|
|
||||||
k = k.toUpperCase();
|
k = k.toUpperCase();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user