Connection: always stringify and un-escape gmail labels in responses

fork
mscdex 11 years ago
parent 39b479de9d
commit 9fd42bcbed

@ -37,6 +37,7 @@ var MAX_INT = 9007199254740992,
RE_NUM_RANGE = /^(?:[\d]+|\*):(?:[\d]+|\*)$/,
RE_BACKSLASH = /\\/g,
RE_DBLQUOTE = /"/g,
RE_ESCAPE = /\\\\/g,
RE_INTEGER = /^\d+$/;
function Connection(config) {
@ -1102,8 +1103,14 @@ Connection.prototype._resUntagged = function(info) {
j = keyslen;
while (--j >= 0) {
if (keys[j].toUpperCase() === toget[i]) {
if (!RE_BODYPART.test(toget[i]))
if (!RE_BODYPART.test(toget[i])) {
if (toget[i] === 'X-GM-LABELS') {
var labels = info.text[keys[j]];
for (var k = 0, lenk = labels.length; k < lenk; ++k)
labels[k] = (''+labels[k]).replace(RE_ESCAPE, '\\');
}
attrs[FETCH_ATTR_MAP[toget[i]]] = info.text[keys[j]];
}
toget.splice(i, 1);
break;
}

Loading…
Cancel
Save