summaryrefslogtreecommitdiff
path: root/Zend/zend_ts_hash.h
diff options
context:
space:
mode:
authorDmitry Stogov <dmitry@zend.com>2014-08-11 18:37:26 +0400
committerDmitry Stogov <dmitry@zend.com>2014-08-11 18:37:26 +0400
commit8013a27ad9ae71d6eac451c183c8e2cee333f751 (patch)
tree48fa66b2d0032f0f59b45d2ad1bfd19d7673035f /Zend/zend_ts_hash.h
parent4c716e8b516146f0a10b0b89078ccd096a8b4b7b (diff)
downloadphp-git-8013a27ad9ae71d6eac451c183c8e2cee333f751.tar.gz
Implemented ext/com_dotnet support for phpng
Diffstat (limited to 'Zend/zend_ts_hash.h')
-rw-r--r--Zend/zend_ts_hash.h35
1 files changed, 35 insertions, 0 deletions
diff --git a/Zend/zend_ts_hash.h b/Zend/zend_ts_hash.h
index 4b0a507368..fcf8c3cda1 100644
--- a/Zend/zend_ts_hash.h
+++ b/Zend/zend_ts_hash.h
@@ -102,6 +102,41 @@ void zend_ts_hash_display_pListTail(TsHashTable *ht);
void zend_ts_hash_display(TsHashTable *ht);
#endif
+ZEND_API zval *zend_ts_hash_str_find(TsHashTable *ht, const char *key, int len);
+ZEND_API zval *_zend_ts_hash_str_update(TsHashTable *ht, const char *key, int len, zval *pData ZEND_FILE_LINE_DC);
+ZEND_API zval *_zend_ts_hash_str_add(TsHashTable *ht, const char *key, int len, zval *pData ZEND_FILE_LINE_DC);
+
+#define zend_ts_hash_str_update(ht, key, len, pData) \
+ _zend_ts_hash_str_update(ht, key, len, pData ZEND_FILE_LINE_CC)
+#define zend_ts_hash_str_add(ht, key, len, pData) \
+ _zend_ts_hash_str_add(ht, key, len, pData ZEND_FILE_LINE_CC)
+
+static inline void *zend_ts_hash_str_find_ptr(TsHashTable *ht, const char *str, int len)
+{
+ zval *zv;
+
+ zv = zend_ts_hash_str_find(ht, str, len);
+ return zv ? Z_PTR_P(zv) : NULL;
+}
+
+static inline void *zend_ts_hash_str_update_ptr(TsHashTable *ht, const char *str, int len, void *pData)
+{
+ zval tmp, *zv;
+
+ ZVAL_PTR(&tmp, pData);
+ zv = zend_ts_hash_str_update(ht, str, len, &tmp);
+ return zv ? Z_PTR_P(zv) : NULL;
+}
+
+static inline void *zend_ts_hash_str_add_ptr(TsHashTable *ht, const char *str, int len, void *pData)
+{
+ zval tmp, *zv;
+
+ ZVAL_PTR(&tmp, pData);
+ zv = zend_ts_hash_str_add(ht, str, len, &tmp);
+ return zv ? Z_PTR_P(zv) : NULL;
+}
+
END_EXTERN_C()
#define ZEND_TS_INIT_SYMTABLE(ht) \