pldmd: Migrate to pldm_pdr_add_check()

pldm_pdr_add() is deprecated in libpldm as it uses assert() to
communicate to the caller that an error occurred. pldm_pdr_add_check()
instead returns a value that indicates success or failure.

Signed-off-by: Andrew Jeffery <andrew@aj.id.au>
Change-Id: Icca92fd742f07fb935202a9d9e62f5648916b12b
diff --git a/libpldmresponder/pdr_utils.cpp b/libpldmresponder/pdr_utils.cpp
index dc6294e..7e5e491 100644
--- a/libpldmresponder/pdr_utils.cpp
+++ b/libpldmresponder/pdr_utils.cpp
@@ -23,8 +23,15 @@
 
 RecordHandle Repo::addRecord(const PdrEntry& pdrEntry)
 {
-    return pldm_pdr_add(repo, pdrEntry.data, pdrEntry.size,
-                        pdrEntry.handle.recordHandle, false, TERMINUS_HANDLE);
+    uint32_t handle = pdrEntry.handle.recordHandle;
+    int rc = pldm_pdr_add_check(repo, pdrEntry.data, pdrEntry.size, false,
+                                TERMINUS_HANDLE, &handle);
+    if (rc)
+    {
+        // pldm_pdr_add() assert()ed on failure to add PDR
+        throw std::runtime_error("Failed to add PDR");
+    }
+    return handle;
 }
 
 const pldm_pdr_record* Repo::getFirstRecord(PdrEntry& pdrEntry)