Fix error on ignoring attributes on template argument
create a custom deleter to fix the issue
Change-Id: Ica670a450cd3a24af46c7b27f6692ed97a24499b
Signed-off-by: Jinu Joy Thomas <jinu.joy.thomas@in.ibm.com>
diff --git a/ibm_vpd_utils.hpp b/ibm_vpd_utils.hpp
index 82a0083..6395e5b 100644
--- a/ibm_vpd_utils.hpp
+++ b/ibm_vpd_utils.hpp
@@ -290,8 +290,17 @@
std::string cmd = path + getCommand(args...);
- std::unique_ptr<FILE, decltype(&pclose)> pipe(popen(cmd.c_str(), "r"),
- pclose);
+ struct custom_file_deleter
+ {
+ void operator()(std::FILE* fp)
+ {
+ pclose(fp);
+ }
+ };
+ using unique_file_custom_deleter =
+ std::unique_ptr<std::FILE, custom_file_deleter>;
+ unique_file_custom_deleter pipe{popen(cmd.c_str(), "r")};
+
if (!pipe)
{
throw std::runtime_error("popen() failed!");