end
document ____executor_globals
- portable way of accessing executor_globals
+ portable way of accessing executor_globals, set $eg
ZTS detection is automatically based on ext/standard module struct
end
if ! $arg1
printf "{\n"
set $ind = $ind + 1
- ____print_ht $zvalue->value.ht 0
+ ____print_ht $zvalue->value.ht 0 1
set $ind = $ind - 1
set $i = $ind
while $i > 0
printf "(%d): ", $ht->nNumOfElements
printf "{\n"
set $ind = $ind + 1
- ____print_ht $ht 1
+ ____print_ht $ht 1 1
set $ind = $ind - 1
set $i = $ind
while $i > 0
set $p = $ht->pListHead
while $p != 0
- set $zval = *(zval **)$p->pData
-
set $i = $ind
while $i > 0
printf " "
printf "%d => ", $p->h
end
- ____printzv $zval 1
+ if $arg1 == 0
+ printf "%p\n", (void*)$p->pData
+ end
+ if $arg1 == 1
+ set $zval = *(zval **)$p->pData
+ ____printzv $zval 1
+ end
+ if $arg1 == 2
+ printf "%s\n", (char*)$p->pData
+ end
+
set $p = $p->pListNext
end
end
define print_ht
set $ind = 1
printf "[0x%08x] {\n", $arg0
- ____print_ht $arg0 0
+ ____print_ht $arg0 0 1
printf "}\n"
end
dumps elements of HashTable made of zval
end
+define print_htptr
+ set $ind = 1
+ printf "[0x%08x] {\n", $arg0
+ ____print_ht $arg0 0 0
+ printf "}\n"
+end
+
+document print_htptr
+ dumps elements of HashTable made of pointers
+end
+
+define print_htstr
+ set $ind = 1
+ printf "[0x%08x] {\n", $arg0
+ ____print_ht $arg0 0 2
+ printf "}\n"
+end
+
+document print_htstr
+ dumps elements of HashTable made of strings
+end
+
define ____print_ft
set $ht = $arg0
set $p = $ht->pListHead