From 67eef2515195140dc1c0c64e78cc94f4b65a927d Mon Sep 17 00:00:00 2001 From: Vincent Richard Date: Sun, 24 Jul 2005 20:22:14 +0000 Subject: [PATCH] Don't throw if no field is found, just return normal priority. --- src/misc/importanceHelper.cpp | 24 +++++++++++++++++------- 1 file changed, 17 insertions(+), 7 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 hdr) { + // Try "X-Priority" field try { const ref fld = hdr->findField("X-Priority").dynamicCast (); @@ -88,15 +89,24 @@ const importanceHelper::Importance importanceHelper::getImportance(const ref fld = hdr->findField("Importance").dynamicCast (); - const string value = utility::stringUtils::toLower(utility::stringUtils::trim(fld->getValue())); + // Try "Importance" field + try + { + const ref fld = hdr->findField("Importance").dynamicCast (); + 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 + 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...