Error code for getExpandedLocationCode API

This commit updates getExpnadedLocationCode API to set error code in
case of error. This helps the caller of API to take action based on the
error code returned from the API.

Change-Id: I1570e13ca782f9320f1fc7e43680807d232e6310
Signed-off-by: Rekha Aparna <vrekhaaparna@ibm.com>
diff --git a/vpd-manager/src/worker.cpp b/vpd-manager/src/worker.cpp
index be2f7d7..60b89e0 100644
--- a/vpd-manager/src/worker.cpp
+++ b/vpd-manager/src/worker.cpp
@@ -558,9 +558,9 @@
 {
     for (const auto& interfacesPropPair : interfaceJson.items())
     {
-        uint16_t l_errCode = 0;
         const std::string& interface = interfacesPropPair.key();
         types::PropertyMap propertyMap;
+        uint16_t l_errCode = 0;
 
         for (const auto& propValuePair : interfacesPropPair.value().items())
         {
@@ -579,7 +579,19 @@
                     std::string value =
                         vpdSpecificUtility::getExpandedLocationCode(
                             propValuePair.value().get<std::string>(),
-                            parsedVpdMap);
+                            parsedVpdMap, l_errCode);
+
+                    if (l_errCode)
+                    {
+                        logging::logMessage(
+                            "Failed to get expanded location code for location code - " +
+                            propValuePair.value().get<std::string>() +
+                            " ,error : " +
+                            commonUtility::getErrCodeMsg(l_errCode));
+
+                        l_errCode = 0;
+                    }
+
                     propertyMap.emplace(property, value);
 
                     auto l_locCodeProperty = propertyMap;
@@ -593,6 +605,8 @@
                         logging::logMessage(
                             "Failed to insert value into map, error : " +
                             commonUtility::getErrCodeMsg(l_errCode));
+
+                        l_errCode = 0;
                     }
                 }
                 else
@@ -630,8 +644,6 @@
                 const std::string& encoding =
                     propValuePair.value().value("encoding", "");
 
-                uint16_t l_errCode = 0;
-
                 if (auto ipzVpdMap =
                         std::get_if<types::IPZVpdMap>(&parsedVpdMap))
                 {
@@ -650,6 +662,8 @@
                                     "Failed to get encoded keyword value for : ") +
                                 keyword + std::string(", error : ") +
                                 commonUtility::getErrCodeMsg(l_errCode));
+
+                            l_errCode = 0;
                         }
 
                         propertyMap.emplace(property, encoded);
@@ -676,6 +690,8 @@
                                         "Failed to get encoded keyword value for : ") +
                                     keyword + std::string(", error : ") +
                                     commonUtility::getErrCodeMsg(l_errCode));
+
+                                l_errCode = 0;
                             }
 
                             propertyMap.emplace(property, encodedValue);
@@ -695,6 +711,8 @@
                                     "Failed to get encoded keyword value for : " +
                                     keyword + ", error : " +
                                     commonUtility::getErrCodeMsg(l_errCode));
+
+                                l_errCode = 0;
                             }
 
                             propertyMap.emplace(property, encodedValue);
@@ -713,7 +731,6 @@
                 }
             }
         }
-        l_errCode = 0;
         vpdSpecificUtility::insertOrMerge(interfaceMap, interface,
                                           move(propertyMap), l_errCode);
 
@@ -721,6 +738,8 @@
         {
             logging::logMessage("Failed to insert value into map, error : " +
                                 commonUtility::getErrCodeMsg(l_errCode));
+
+            l_errCode = 0;
         }
     }
 }