Faults in C linkage for PBE area is fixed.
---
 src/smf/smfd/SmfUpgradeCampaign.cc |  3 ++-
 src/smf/smfd/SmfUtils.cc           | 14 ++++++++++++++
 src/smf/smfd/SmfUtils.h            | 10 ++++++++--
 3 files changed, 24 insertions(+), 3 deletions(-)

diff --git a/src/smf/smfd/SmfUpgradeCampaign.cc 
b/src/smf/smfd/SmfUpgradeCampaign.cc
index 3c50bf7..4a1591a 100644
--- a/src/smf/smfd/SmfUpgradeCampaign.cc
+++ b/src/smf/smfd/SmfUpgradeCampaign.cc
@@ -930,7 +930,8 @@ void SmfUpgradeCampaign::continueExec() {
     if (o_result == true) {
       LOG_NO("The campaign have been restarted to many times");
       int cnt = smfd_cb->smfCampMaxRestart;
-      std::string error = "To many campaign restarts, max " + cnt;
+      std::string error = "To many campaign restarts, max "
+          + std::to_string(cnt);
       SmfCampaignThread::instance()->campaign()->setError(error);
       changeState(SmfCampStateExecFailed::instance());
       TRACE_LEAVE();
diff --git a/src/smf/smfd/SmfUtils.cc b/src/smf/smfd/SmfUtils.cc
index 882a3e6..0abb4b1 100644
--- a/src/smf/smfd/SmfUtils.cc
+++ b/src/smf/smfd/SmfUtils.cc
@@ -1091,6 +1091,13 @@ std::string smf_valueToString(SaImmAttrValueT value, 
SaImmValueTypeT type) {
   return ost.str();
 }
 
+char* smf_valueToString(char* buffer, SaImmAttrValueT value,
+    SaImmValueTypeT type) {
+  std::string tmp = smf_valueToString(value, type);
+  memcpy(buffer, tmp.c_str(), tmp.length());
+  return buffer;
+}
+
 // 
------------------------------------------------------------------------------
 // smf_opStringToInt()
 // 
------------------------------------------------------------------------------
@@ -1342,6 +1349,13 @@ const std::string smfStateToString(const uint32_t 
&i_stateId,
   }
 }
 
+char* smfStateToString(char* buffer, const uint32_t &i_stateId,
+                                   const uint32_t &i_state) {
+  std::string tmp = smfStateToString(i_stateId, i_state);
+  memcpy(buffer, tmp.c_str(), tmp.length());
+  return buffer;
+}
+
 bool compare_du_part(unitNameAndState &first, unitNameAndState &second) {
   unsigned int i = 0;
   while ((i < first.name.length()) && (i < second.name.length())) {
diff --git a/src/smf/smfd/SmfUtils.h b/src/smf/smfd/SmfUtils.h
index 894e3c9..394c000 100644
--- a/src/smf/smfd/SmfUtils.h
+++ b/src/smf/smfd/SmfUtils.h
@@ -42,6 +42,12 @@
 class SmfImmOperation;
 class SmfRollbackCcb;
 
+extern std::string smf_valueToString(SaImmAttrValueT value,
+                                     SaImmValueTypeT type);
+extern const std::string smfStateToString(const uint32_t& i_stateId,
+                                          const uint32_t& i_state);
+
+
 /* ========================================================================
  *   TYPE DEFINITIONS
  * ========================================================================
@@ -62,14 +68,14 @@ extern bool smf_stringsToValues(SaImmAttrValuesT_2* 
i_attribute,
                                 std::list<std::string>& i_values);
 extern bool smf_stringToValue(SaImmValueTypeT i_type, SaImmAttrValueT* i_value,
                               const char* i_str);
-extern std::string smf_valueToString(SaImmAttrValueT value,
+extern char* smf_valueToString(char* buffer, SaImmAttrValueT value,
                                      SaImmValueTypeT type);
 extern int smf_opStringToInt(const char* i_str);
 extern int smf_system(std::string i_cmd);
 extern void updateSaflog(const std::string& i_dn, const uint32_t& i_stateId,
                          const uint32_t& i_newState,
                          const uint32_t& i_oldState);
-extern const std::string smfStateToString(const uint32_t& i_stateId,
+extern char* smfStateToString(char* buffer, const uint32_t& i_stateId,
                                           const uint32_t& i_state);
 extern bool compare_du_part(unitNameAndState& first, unitNameAndState& second);
 extern bool unique_du_part(unitNameAndState& first, unitNameAndState& second);
-- 
2.7.4



_______________________________________________
Opensaf-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensaf-devel

Reply via email to