diff options
-rw-r--r-- | include/inspircd.h | 4 | ||||
-rw-r--r-- | include/inspstring.h | 2 | ||||
-rw-r--r-- | include/modules/sql.h | 11 | ||||
-rw-r--r-- | src/helperfuncs.cpp | 8 |
4 files changed, 12 insertions, 13 deletions
diff --git a/include/inspircd.h b/include/inspircd.h index 40c368106..bdbcdb20d 100644 --- a/include/inspircd.h +++ b/include/inspircd.h @@ -407,8 +407,8 @@ class CoreExport InspIRCd * @param ... A variable number of format arguments. * @return The formatted string */ - static const char* Format(const char* formatString, ...) CUSTOM_PRINTF(1, 2); - static const char* Format(va_list &vaList, const char* formatString) CUSTOM_PRINTF(2, 0); + static std::string Format(const char* formatString, ...) CUSTOM_PRINTF(1, 2); + static std::string Format(va_list& vaList, const char* formatString) CUSTOM_PRINTF(2, 0); /** Determines whether a nickname is valid. */ TR1NS::function<bool(const std::string&)> IsNick; diff --git a/include/inspstring.h b/include/inspstring.h index ccc77da66..2501b76ce 100644 --- a/include/inspstring.h +++ b/include/inspstring.h @@ -29,7 +29,7 @@ do { \ va_list _vaList; \ va_start(_vaList, last); \ - ret = InspIRCd::Format(_vaList, format); \ + ret.assign(InspIRCd::Format(_vaList, format)); \ va_end(_vaList); \ } while (false); diff --git a/include/modules/sql.h b/include/modules/sql.h index dd33fc676..01adbb42e 100644 --- a/include/modules/sql.h +++ b/include/modules/sql.h @@ -132,7 +132,7 @@ class SQL::Error { private: /** The custom error message if one has been specified. */ - const char* message; + const std::string message; public: /** The code which represents this error. */ @@ -142,8 +142,7 @@ class SQL::Error * @param c A code which represents this error. */ Error(ErrorCode c) - : message(NULL) - , code(c) + : code(c) { } @@ -151,7 +150,7 @@ class SQL::Error * @param c A code which represents this error. * @param m A custom error message. */ - Error(ErrorCode c, const char* m) + Error(ErrorCode c, const std::string m) : message(m) , code(c) { @@ -160,8 +159,8 @@ class SQL::Error /** Retrieves the error message. */ const char* ToString() const { - if (message) - return message; + if (!message.empty()) + return message.c_str(); switch (code) { diff --git a/src/helperfuncs.cpp b/src/helperfuncs.cpp index c29e7d2cc..e331ba9dc 100644 --- a/src/helperfuncs.cpp +++ b/src/helperfuncs.cpp @@ -331,7 +331,7 @@ unsigned long InspIRCd::Duration(const std::string &str) return total + subtotal; } -const char* InspIRCd::Format(va_list &vaList, const char* formatString) +std::string InspIRCd::Format(va_list& vaList, const char* formatString) { static std::vector<char> formatBuffer(1024); @@ -351,12 +351,12 @@ const char* InspIRCd::Format(va_list &vaList, const char* formatString) formatBuffer.resize(formatBuffer.size() * 2); } - return &formatBuffer[0]; + return std::string(&formatBuffer[0]); } -const char* InspIRCd::Format(const char* formatString, ...) +std::string InspIRCd::Format(const char* formatString, ...) { - const char* ret; + std::string ret; VAFORMAT(ret, formatString, formatString); return ret; } |