"Fossies" - the Fresh Open Source Software Archive

Member "php-8.0.28-src/ext/phar/gdbhelp" (14 Feb 2023, 2857 Bytes) of package /windows/www/php-8.0.28-src.zip:


As a special service "Fossies" has tried to format the requested text file into HTML format (style: standard) with prefixed line numbers. Alternatively you can here view or download the uninterpreted source code file.

    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