mirror of
https://github.com/php/php-src.git
synced 2024-12-12 11:23:53 +08:00
122 lines
2.8 KiB
Plaintext
122 lines
2.8 KiB
Plaintext
define ___pharglobals
|
|
if basic_functions_module.zts
|
|
set $tsrm_ls = ts_resource_ex(0, 0)
|
|
set $pharglobals = ((zend_phar_globals) (*((void ***) $tsrm_ls))[phar_globals_id-1])
|
|
else
|
|
set $pharglobals = phar_globals
|
|
end
|
|
end
|
|
|
|
define ____print_pharht
|
|
set $ht = $arg0
|
|
set $p = $ht.pListHead
|
|
|
|
while $p != 0
|
|
set $i = $ind
|
|
while $i > 0
|
|
printf " "
|
|
set $i = $i - 1
|
|
end
|
|
|
|
set $temp = *(phar_archive_data*)$p->pDataPtr
|
|
____print_str $temp.fname $temp.fname_len
|
|
printf " => "
|
|
|
|
if $arg1 == 0
|
|
|
|
printf "%i (alias ", $temp.refcount
|
|
____print_str $temp.alias $temp.alias_len
|
|
printf ")\n"
|
|
end
|
|
|
|
set $p = $p->pListNext
|
|
end
|
|
end
|
|
|
|
define print_phar
|
|
set $ind = 1
|
|
___pharglobals
|
|
printf "{"
|
|
____print_pharht $pharglobals.phar_fname_map 0
|
|
printf "}\n"
|
|
end
|
|
|
|
document display_phar_globals
|
|
display phar globals
|
|
end
|
|
|
|
define display_phar_globals
|
|
___pharglobals
|
|
graph display $phar_globals.$arg0
|
|
end
|
|
|
|
define print_pharfp
|
|
___pharglobals
|
|
set $ht = $pharglobals.phar_fname_map
|
|
set $p = $ht.pListHead
|
|
set $fpcount = 0
|
|
|
|
while $p != 0
|
|
set $pharname = (*(phar_archive_data*)$p->pDataPtr).fname
|
|
set $pharrefcount = (*(phar_archive_data*)$p->pDataPtr).refcount
|
|
if (*(phar_archive_data*)$p->pDataPtr).fp != 0
|
|
set $fpcount = $fpcount + 1
|
|
printf "phar %s is open (%i)\n", $pharname, $pharrefcount
|
|
end
|
|
set $manifest = (*(phar_archive_data*)$p->pDataPtr).manifest
|
|
set $m = $manifest.pListHead
|
|
while $m != 0
|
|
if (*(phar_entry_info *)$m->pData).fp
|
|
set $fpcount = $fpcount + 1
|
|
set $a = (*(phar_entry_info *)$m->pData).fp_refcount
|
|
printf "phar %s file %s is open (%i)\n", $pharname, (*(phar_entry_info *)$m->pData).filename, $a
|
|
end
|
|
set $m = $m->pListNext
|
|
end
|
|
|
|
set $p = $p->pListNext
|
|
end
|
|
printf "Open file pointers: %d\n", $fpcount
|
|
end
|
|
|
|
document print_pharfp
|
|
displays all open file pointers in phar, and the phars plus entries that are open with reference counts
|
|
end
|
|
|
|
define dump_entry
|
|
___pharglobals
|
|
set $ht = $pharglobals.phar_fname_map
|
|
set $p = $ht.pListHead
|
|
set $done = 0
|
|
while $p != 0
|
|
set $t = (*(phar_archive_data*)$p->pDataPtr)
|
|
if $t.fname[0] == $arg0[0] || $t.alias[0] == $arg0[0]
|
|
set $manifest = (*(phar_archive_data*)$p->pDataPtr).manifest
|
|
set $m = $manifest.pListHead
|
|
while $m != 0
|
|
if (*(phar_entry_info *)$m->pData).filename[0] == $arg1[0]
|
|
if $argc == 3
|
|
output *((phar_entry_info *)$m->pData)->fp
|
|
end
|
|
if $argc == 2
|
|
output *(phar_entry_info *)$m->pData
|
|
end
|
|
printf "\n"
|
|
set $done = 1
|
|
loop_break
|
|
end
|
|
set $m = $m->pListNext
|
|
end
|
|
end
|
|
if $done == 1
|
|
loop_break
|
|
end
|
|
set $p = $p->pListNext
|
|
end
|
|
end
|
|
|
|
document dump_entry
|
|
dump_entry "pharname"|"pharalias" "filename" [1]
|
|
display phar_entry_info for a file within a phar. If the optional third param
|
|
is passed in, displays the php_stream that is the file's fp
|
|
end |