ImapStringType GetStringType (string value, bool allowAtom)
{
var type = allowAtom ? ImapStringType.Atom : ImapStringType.QString;
if (value == null)
return ImapStringType.Nil;
if (value.Length == 0)
return ImapStringType.QString;
for (int i = 0; i < value.Length; i++) {
if (!IsAtom (value[i])) {
if (!IsQuotedSafe (value[i]))
return ImapStringType.Literal;
type = ImapStringType.QString;
}
}
return type;
}