diff --git a/.travis.yml b/.travis.yml index dc05f35..722a3a4 100644 --- a/.travis.yml +++ b/.travis.yml @@ -38,6 +38,5 @@ env: - SHARED_LIB=ON STATIC_LIB=ON CMAKE_PKG=ON BUILD_TYPE=release VERBOSE_MAKE=false - SHARED_LIB=OFF STATIC_LIB=ON CMAKE_PKG=OFF BUILD_TYPE=debug VERBOSE_MAKE=true VERBOSE notifications: - email: - - aaronjjacobs@gmail.com + email: false sudo: false diff --git a/CMakeLists.txt b/CMakeLists.txt index 685cacf..ca97898 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -63,7 +63,7 @@ ENDMACRO(jsoncpp_parse_version) #SET( JSONCPP_VERSION_MAJOR X ) #SET( JSONCPP_VERSION_MINOR Y ) #SET( JSONCPP_VERSION_PATCH Z ) -SET( JSONCPP_VERSION 0.10.4 ) +SET( JSONCPP_VERSION 0.10.5 ) jsoncpp_parse_version( ${JSONCPP_VERSION} JSONCPP_VERSION ) #IF(NOT JSONCPP_VERSION_FOUND) # MESSAGE(FATAL_ERROR "Failed to parse version string properly. Expect X.Y.Z") diff --git a/include/json/value.h b/include/json/value.h index 769c3f2..fe55bfd 100644 --- a/include/json/value.h +++ b/include/json/value.h @@ -37,21 +37,36 @@ namespace Json { * * We use nothing but these internally. Of course, STL can throw others. */ -class JSON_API Exception; +class JSON_API Exception : public std::exception { +public: + Exception(std::string const& msg); + virtual ~Exception() throw(); + virtual char const* what() const throw(); +protected: + std::string const msg_; +}; + /** Exceptions which the user cannot easily avoid. * * E.g. out-of-memory (when we use malloc), stack-overflow, malicious input * * \remark derived from Json::Exception */ -class JSON_API RuntimeError; +class JSON_API RuntimeError : public Exception { +public: + RuntimeError(std::string const& msg); +}; + /** Exceptions thrown by JSON_ASSERT/JSON_FAIL macros. * * These are precondition-violations (user bugs) and internal errors (our bugs). * * \remark derived from Json::Exception */ -class JSON_API LogicError; +class JSON_API LogicError : public Exception { +public: + LogicError(std::string const& msg); +}; /// used internally void throwRuntimeError(std::string const& msg); @@ -258,7 +273,7 @@ Json::Value obj_value(Json::objectValue); // {} #endif // if defined(JSON_HAS_INT64) Value(double value); Value(const char* value); ///< Copy til first 0. (NULL causes to seg-fault.) - Value(const char* beginValue, const char* endValue); ///< Copy all, incl zeroes. + Value(const char* begin, const char* end); ///< Copy all, incl zeroes. /** \brief Constructs a value from a static string. * Like other value string constructor but do not duplicate the string for @@ -309,7 +324,7 @@ Json::Value obj_value(Json::objectValue); // {} * \return false if !string. (Seg-fault if str or end are NULL.) */ bool getString( - char const** str, char const** end) const; + char const** begin, char const** end) const; #ifdef JSON_USE_CPPTL CppTL::ConstString asConstString() const; #endif @@ -438,8 +453,8 @@ Json::Value obj_value(Json::objectValue); // {} Value get(const char* key, const Value& defaultValue) const; /// Return the member named key if it exist, defaultValue otherwise. /// \note deep copy - /// \param key may contain embedded nulls. - Value get(const char* key, const char* end, const Value& defaultValue) const; + /// \note key may contain embedded nulls. + Value get(const char* begin, const char* end, const Value& defaultValue) const; /// Return the member named key if it exist, defaultValue otherwise. /// \note deep copy /// \param key may contain embedded nulls. @@ -451,12 +466,12 @@ Json::Value obj_value(Json::objectValue); // {} #endif /// Most general and efficient version of isMember()const, get()const, /// and operator[]const - /// \note As stated elsewhere, behavior is undefined if (end-key) >= 2^30 - Value const* find(char const* key, char const* end) const; + /// \note As stated elsewhere, behavior is undefined if (end-begin) >= 2^30 + Value const* find(char const* begin, char const* end) const; /// Most general and efficient version of object-mutators. - /// \note As stated elsewhere, behavior is undefined if (end-key) >= 2^30 + /// \note As stated elsewhere, behavior is undefined if (end-begin) >= 2^30 /// \return non-zero, but JSON_ASSERT if this is neither object nor nullValue. - Value const* demand(char const* key, char const* end); + Value const* demand(char const* begin, char const* end); /// \brief Remove and return the named member. /// /// Do nothing if it did not exist. @@ -469,7 +484,7 @@ Json::Value obj_value(Json::objectValue); // {} /// \param key may contain embedded nulls. /// \deprecated Value removeMember(const std::string& key); - /// Same as removeMember(const char* key, const char* end, Value* removed), + /// Same as removeMember(const char* begin, const char* end, Value* removed), /// but 'key' is null-terminated. bool removeMember(const char* key, Value* removed); /** \brief Remove the named map member. @@ -480,7 +495,7 @@ Json::Value obj_value(Json::objectValue); // {} */ bool removeMember(std::string const& key, Value* removed); /// Same as removeMember(std::string const& key, Value* removed) - bool removeMember(const char* key, const char* end, Value* removed); + bool removeMember(const char* begin, const char* end, Value* removed); /** \brief Remove the indexed array element. O(n) expensive operations. @@ -496,7 +511,7 @@ Json::Value obj_value(Json::objectValue); // {} /// \param key may contain embedded nulls. bool isMember(const std::string& key) const; /// Same as isMember(std::string const& key)const - bool isMember(const char* key, const char* end) const; + bool isMember(const char* begin, const char* end) const; #ifdef JSON_USE_CPPTL /// Return true if the object has a member named key. bool isMember(const CppTL::ConstString& key) const; diff --git a/include/json/version.h b/include/json/version.h index 73d3370..087fc63 100644 --- a/include/json/version.h +++ b/include/json/version.h @@ -1,13 +1,12 @@ -// DO NOT EDIT. This file is generated by CMake from "version" -// and "version.h.in" files. +// DO NOT EDIT. This file (and "version") is generated by CMake. // Run CMake configure step to update it. #ifndef JSON_VERSION_H_INCLUDED # define JSON_VERSION_H_INCLUDED -# define JSONCPP_VERSION_STRING "0.10.4" +# define JSONCPP_VERSION_STRING "0.10.5" # define JSONCPP_VERSION_MAJOR 0 # define JSONCPP_VERSION_MINOR 10 -# define JSONCPP_VERSION_PATCH 4 +# define JSONCPP_VERSION_PATCH 5 # define JSONCPP_VERSION_QUALIFIER # define JSONCPP_VERSION_HEXA ((JSONCPP_VERSION_MAJOR << 24) | (JSONCPP_VERSION_MINOR << 16) | (JSONCPP_VERSION_PATCH << 8)) diff --git a/src/lib_json/json_tool.h b/src/lib_json/json_tool.h index e6d4e92..e65e51b 100644 --- a/src/lib_json/json_tool.h +++ b/src/lib_json/json_tool.h @@ -43,7 +43,7 @@ static inline std::string codePointToUTF8(unsigned int cp) { return result; } -/// Returns true if ch is a control character (in range [0,32[). +/// Returns true if ch is a control character (in range [1,31]). static inline bool isControlCharacter(char ch) { return ch > 0 && ch <= 0x1F; } enum { diff --git a/src/lib_json/json_value.cpp b/src/lib_json/json_value.cpp index 95f60cc..4a77d00 100644 --- a/src/lib_json/json_value.cpp +++ b/src/lib_json/json_value.cpp @@ -153,23 +153,6 @@ static inline void releaseStringValue(char* value) { free(value); } namespace Json { -class JSON_API Exception : public std::exception { -public: - Exception(std::string const& msg); - virtual ~Exception() throw(); - virtual char const* what() const throw(); -protected: - std::string const msg_; -}; -class JSON_API RuntimeError : public Exception { -public: - RuntimeError(std::string const& msg); -}; -class JSON_API LogicError : public Exception { -public: - LogicError(std::string const& msg); -}; - Exception::Exception(std::string const& msg) : msg_(msg) {} diff --git a/src/lib_json/version.h.in b/src/lib_json/version.h.in index 761ca3a..692ab5e 100644 --- a/src/lib_json/version.h.in +++ b/src/lib_json/version.h.in @@ -1,5 +1,4 @@ -// DO NOT EDIT. This file is generated by CMake from "version" -// and "version.h.in" files. +// DO NOT EDIT. This file (and "version") is generated by CMake. // Run CMake configure step to update it. #ifndef JSON_VERSION_H_INCLUDED # define JSON_VERSION_H_INCLUDED diff --git a/version b/version index 9b40aa6..9028ec6 100644 --- a/version +++ b/version @@ -1 +1 @@ -0.10.4 +0.10.5