summaryrefslogtreecommitdiff
path: root/zend/hiddenpointer.h
diff options
context:
space:
mode:
Diffstat (limited to 'zend/hiddenpointer.h')
-rw-r--r--zend/hiddenpointer.h10
1 files changed, 8 insertions, 2 deletions
diff --git a/zend/hiddenpointer.h b/zend/hiddenpointer.h
index d2636e3..147886e 100644
--- a/zend/hiddenpointer.h
+++ b/zend/hiddenpointer.h
@@ -38,8 +38,14 @@ public:
// copy pointer into the buffer
memcpy(buffer, &pointer, sizeof(Type *));
- // copy the name into the buffer
- memcpy(buffer + sizeof(Type *), text, size + 1);
+ // copy the name into the buffer, making it lower case at the same time
+ // (php function names are case insensitive, and must even be lowercase
+ // because all the lookups are done in lowercase)
+ for (int i = 0; i < size + 1; i++)
+ {
+ // convert char the lower case
+ buffer[sizeof(Type *) + i] = tolower(text[i]);
+ }
// store in member
_buffer = buffer;