diff options
Diffstat (limited to 'extensions/openpower-pels/json_utils.hpp')
-rw-r--r-- | extensions/openpower-pels/json_utils.hpp | 27 |
1 files changed, 26 insertions, 1 deletions
diff --git a/extensions/openpower-pels/json_utils.hpp b/extensions/openpower-pels/json_utils.hpp index 14c2ce4..f3fb767 100644 --- a/extensions/openpower-pels/json_utils.hpp +++ b/extensions/openpower-pels/json_utils.hpp @@ -39,7 +39,7 @@ char* dumpHex(const void* data, size_t size); * @param[in] indentCount - Indent count for the line */ void jsonInsert(std::string& jsonStr, const std::string& fieldName, - std::string& fieldValue, uint8_t indentCount); + std::string fieldValue, uint8_t indentCount); /** * @brief Inserts key-value array into a JSON string @@ -51,5 +51,30 @@ void jsonInsert(std::string& jsonStr, const std::string& fieldName, */ void jsonInsertArray(std::string& jsonStr, const std::string& fieldName, std::vector<std::string>& values, uint8_t indentCount); + +/** + * @brief Converts an integer to a formatted string + * @param[in] format - the format of output string + * @param[in] number - the integer to convert + * @return std::string - the formatted string + */ +template <typename T> +std::string getNumberString(const char* format, T number) +{ + char* value = nullptr; + std::string numString; + + static_assert(std::is_integral<T>::value, "Integral required."); + + int len = asprintf(&value, format, number); + if (len) + { + numString = value; + } + free(value); + + return numString; +} + } // namespace pels } // namespace openpower |