summaryrefslogtreecommitdiff
path: root/zend
diff options
context:
space:
mode:
authorandot <mabingyao@gmail.com>2014-07-23 14:39:05 +0800
committerandot <mabingyao@gmail.com>2014-07-23 14:39:05 +0800
commitcaa165ece89136a4ef6bde87df865d4288ff94cf (patch)
tree5994fc7695a79668a32c78999a3376c3cdb3edd8 /zend
parent2abffa80e10a9e0c4203310f0fa5b3f6949062e1 (diff)
Fixed compatibility issue with VS2013
Diffstat (limited to 'zend')
-rw-r--r--zend/includes.h1
-rw-r--r--zend/objectimpl.h12
-rw-r--r--zend/super.cpp4
3 files changed, 9 insertions, 8 deletions
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);
}
/**