virtual protected string Unescape(string value)
{
// added null check - you can't call .Replace on a null
// string, but you can just return null as a string
if (value != null)
{
value = value.Replace(@"\n", "\n");
value = value.Replace(@"\N", "\n");
value = value.Replace(@"\;", ";");
value = value.Replace(@"\,", ",");
// NOTE: double quotes aren't escaped in RFC2445, but are in Mozilla Sunbird (0.5-)
value = value.Replace("\\\"", "\"");
// Replace all single-backslashes with double-backslashes.
value = Regex.Replace(value, @"(?<!\\)\\(?!\\)", "\\\\");
// Unescape double backslashes
value = value.Replace(@"\\", @"\");
}
return value;
}