diff options
-rw-r--r-- | include/base.h | 8 | ||||
-rw-r--r-- | include/exception.h | 4 | ||||
-rw-r--r-- | include/ini.h | 4 | ||||
-rw-r--r-- | phpcpp.h | 1 | ||||
-rw-r--r-- | zend/includes.h | 1 | ||||
-rw-r--r-- | zend/objectimpl.h | 12 | ||||
-rw-r--r-- | zend/super.cpp | 4 |
7 files changed, 22 insertions, 12 deletions
diff --git a/include/base.h b/include/base.h index 87c7483..f5ebed1 100644 --- a/include/base.h +++ b/include/base.h @@ -87,7 +87,7 @@ public: */ Value operator[](const char *name) const { - return Value(this)[name]; + return Value(this).get(name); } /** @@ -97,7 +97,7 @@ public: */ Value operator[](const std::string &name) const { - return Value(this)[name]; + return Value(this).get(name); } /** @@ -107,7 +107,7 @@ public: */ Value property(const char *name) const { - return Value(this)[name]; + return Value(this).get(name); } /** @@ -117,7 +117,7 @@ public: */ Value property(const std::string &name) const { - return Value(this)[name]; + return Value(this).get(name); } /** diff --git a/include/exception.h b/include/exception.h index aff0afc..94aaa85 100644 --- a/include/exception.h +++ b/include/exception.h @@ -52,7 +52,11 @@ public: * Overridden what method * @return const char * */ +#ifdef _NOEXCEPT + virtual const char *what() const _NOEXCEPT override +#else virtual const char *what() const noexcept override +#endif { return _message.c_str(); } diff --git a/include/ini.h b/include/ini.h index 1d881e9..69137a2 100644 --- a/include/ini.h +++ b/include/ini.h @@ -125,7 +125,11 @@ private: * @param value * @return string */ +#ifdef _MSC_VER + static const char* bool2str(const bool value) +#else static constexpr const char* bool2str(const bool value) +#endif { // cast to a string return ( static_cast<bool>(value) ? "On" : "Off"); @@ -22,6 +22,7 @@ #include <exception> #include <map> #include <set> +#include <functional> /** * Include all headers files that are related to this library diff --git a/zend/includes.h b/zend/includes.h index 63b435e..582530b 100644 --- a/zend/includes.h +++ b/zend/includes.h @@ -20,6 +20,7 @@ #include <list> #include <exception> #include <type_traits> +#include <functional> // for debug #include <iostream> diff --git a/zend/objectimpl.h b/zend/objectimpl.h index 7f16320..64203b7 100644 --- a/zend/objectimpl.h +++ b/zend/objectimpl.h @@ -98,20 +98,20 @@ public: // when in thread safety mode, the destruct method and free method have // an extra parameter holding thread information - using DestructType = void(zend_object*,unsigned int,void***); - using FreeType = void(zend_object*,void***); + typedef void(*DestructType)(zend_object*,unsigned int,void***); + typedef void(*FreeType)(zend_object*,void***); #else // not in thread mode: no special parameter for the tsrm_ls variable - using DestructType = void(zend_object*,unsigned int); - using FreeType = void(zend_object*); + typedef void(*DestructType)(zend_object*, unsigned int); + typedef void(*FreeType)(zend_object*); #endif // store the two destruct methods in temporary vars - DestructType *destructMethod = &ClassImpl::destructObject; - FreeType *freeMethod = &ClassImpl::freeObject; + DestructType destructMethod = &ClassImpl::destructObject; + FreeType freeMethod = &ClassImpl::freeObject; // the destructor and clone handlers are set to NULL. I dont know why, but they do not // seem to be necessary... diff --git a/zend/super.cpp b/zend/super.cpp index c25efeb..a2fa0a9 100644 --- a/zend/super.cpp +++ b/zend/super.cpp @@ -40,7 +40,7 @@ Value Super::operator[](const std::string &key) Value value(PG(http_globals)[_index]); // pass on the call - return value[key]; + return value.get(key); } /** @@ -61,7 +61,7 @@ Value Super::operator[](const char *key) Value value(PG(http_globals)[_index]); // pass on the call - return value[key]; + return value.get(key); } /** |