diff options
author | Vincent Richard <[email protected]> | 2005-07-24 20:22:14 +0000 |
---|---|---|
committer | Vincent Richard <[email protected]> | 2005-07-24 20:22:14 +0000 |
commit | 67eef2515195140dc1c0c64e78cc94f4b65a927d (patch) | |
tree | f1471b5a2323564cb84c33898c755b1f105569b7 | |
parent | Fixed some doc + getHeader() now returns a ref. (diff) | |
download | vmime-67eef2515195140dc1c0c64e78cc94f4b65a927d.tar.gz vmime-67eef2515195140dc1c0c64e78cc94f4b65a927d.zip |
Don't throw if no field is found, just return normal priority.
-rw-r--r-- | src/misc/importanceHelper.cpp | 26 |
1 files changed, 18 insertions, 8 deletions
diff --git a/src/misc/importanceHelper.cpp b/src/misc/importanceHelper.cpp index 96f80183..37612085 100644 --- a/src/misc/importanceHelper.cpp +++ b/src/misc/importanceHelper.cpp @@ -63,6 +63,7 @@ const importanceHelper::Importance importanceHelper::getImportance(const ref <co const importanceHelper::Importance importanceHelper::getImportance(const ref <const header> hdr) { + // Try "X-Priority" field try { const ref <const defaultField> fld = hdr->findField("X-Priority").dynamicCast <const defaultField>(); @@ -88,15 +89,24 @@ const importanceHelper::Importance importanceHelper::getImportance(const ref <co } catch (exceptions::no_such_field) { - const ref <const defaultField> fld = hdr->findField("Importance").dynamicCast <const defaultField>(); - const string value = utility::stringUtils::toLower(utility::stringUtils::trim(fld->getValue())); - - if (value == "low") - return (IMPORTANCE_LOWEST); - else if (value == "high") - return (IMPORTANCE_HIGHEST); - else + // Try "Importance" field + try + { + const ref <const defaultField> fld = hdr->findField("Importance").dynamicCast <const defaultField>(); + const string value = utility::stringUtils::toLower(utility::stringUtils::trim(fld->getValue())); + + if (value == "low") + return (IMPORTANCE_LOWEST); + else if (value == "high") + return (IMPORTANCE_HIGHEST); + else + return (IMPORTANCE_NORMAL); + } + catch (exceptions::no_such_field) + { + // Default return (IMPORTANCE_NORMAL); + } } // Should not go here... |