Return to gdbhelp CVS log | Up to [ELWIX - Embedded LightWeight unIX -] / embedaddon / php / ext / phar |
1.1 ! misho 1: define ___pharglobals ! 2: if basic_functions_module.zts ! 3: set $tsrm_ls = ts_resource_ex(0, 0) ! 4: set $pharglobals = ((zend_phar_globals) (*((void ***) $tsrm_ls))[phar_globals_id-1]) ! 5: else ! 6: set $pharglobals = phar_globals ! 7: end ! 8: end ! 9: ! 10: define ____print_pharht ! 11: set $ht = $arg0 ! 12: set $p = $ht.pListHead ! 13: ! 14: while $p != 0 ! 15: set $i = $ind ! 16: while $i > 0 ! 17: printf " " ! 18: set $i = $i - 1 ! 19: end ! 20: ! 21: set $temp = *(phar_archive_data*)$p->pDataPtr ! 22: ____print_str $temp.fname $temp.fname_len ! 23: printf " => " ! 24: ! 25: if $arg1 == 0 ! 26: ! 27: printf "%i (alias ", $temp.refcount ! 28: ____print_str $temp.alias $temp.alias_len ! 29: printf ")\n" ! 30: end ! 31: ! 32: set $p = $p->pListNext ! 33: end ! 34: end ! 35: ! 36: define print_phar ! 37: set $ind = 1 ! 38: ___pharglobals ! 39: printf "{" ! 40: ____print_pharht $pharglobals.phar_fname_map 0 ! 41: printf "}\n" ! 42: end ! 43: ! 44: document display_phar_globals ! 45: display phar globals ! 46: end ! 47: ! 48: define display_phar_globals ! 49: ___pharglobals ! 50: graph display $phar_globals.$arg0 ! 51: end ! 52: ! 53: define print_pharfp ! 54: ___pharglobals ! 55: set $ht = $pharglobals.phar_fname_map ! 56: set $p = $ht.pListHead ! 57: set $fpcount = 0 ! 58: ! 59: while $p != 0 ! 60: set $pharname = (*(phar_archive_data*)$p->pDataPtr).fname ! 61: set $pharrefcount = (*(phar_archive_data*)$p->pDataPtr).refcount ! 62: if (*(phar_archive_data*)$p->pDataPtr).fp != 0 ! 63: set $fpcount = $fpcount + 1 ! 64: printf "phar %s is open (%i)\n", $pharname, $pharrefcount ! 65: end ! 66: set $manifest = (*(phar_archive_data*)$p->pDataPtr).manifest ! 67: set $m = $manifest.pListHead ! 68: while $m != 0 ! 69: if (*(phar_entry_info *)$m->pData).fp ! 70: set $fpcount = $fpcount + 1 ! 71: set $a = (*(phar_entry_info *)$m->pData).fp_refcount ! 72: printf "phar %s file %s is open (%i)\n", $pharname, (*(phar_entry_info *)$m->pData).filename, $a ! 73: end ! 74: set $m = $m->pListNext ! 75: end ! 76: ! 77: set $p = $p->pListNext ! 78: end ! 79: printf "Open file pointers: %d\n", $fpcount ! 80: end ! 81: ! 82: document print_pharfp ! 83: displays all open file pointers in phar, and the phars plus entries that are open with reference counts ! 84: end ! 85: ! 86: define dump_entry ! 87: ___pharglobals ! 88: set $ht = $pharglobals.phar_fname_map ! 89: set $p = $ht.pListHead ! 90: set $done = 0 ! 91: while $p != 0 ! 92: set $t = (*(phar_archive_data*)$p->pDataPtr) ! 93: if $t.fname[0] == $arg0[0] || $t.alias[0] == $arg0[0] ! 94: set $manifest = (*(phar_archive_data*)$p->pDataPtr).manifest ! 95: set $m = $manifest.pListHead ! 96: while $m != 0 ! 97: if (*(phar_entry_info *)$m->pData).filename[0] == $arg1[0] ! 98: if $argc == 3 ! 99: output *((phar_entry_info *)$m->pData)->fp ! 100: end ! 101: if $argc == 2 ! 102: output *(phar_entry_info *)$m->pData ! 103: end ! 104: printf "\n" ! 105: set $done = 1 ! 106: loop_break ! 107: end ! 108: set $m = $m->pListNext ! 109: end ! 110: end ! 111: if $done == 1 ! 112: loop_break ! 113: end ! 114: set $p = $p->pListNext ! 115: end ! 116: end ! 117: ! 118: document dump_entry ! 119: dump_entry "pharname"|"pharalias" "filename" [1] ! 120: display phar_entry_info for a file within a phar. If the optional third param ! 121: is passed in, displays the php_stream that is the file's fp ! 122: end