HEX
Server: Apache
System: Linux dinesh8189 5.15.98-grsec-sharedvalley-2.lc.el8.x86_64 #1 SMP Thu Mar 9 09:07:30 -03 2023 x86_64
User: cgmgerenciamento1 (814285)
PHP: 8.1.26
Disabled: apache_child_terminate,dl,escapeshellarg,escapeshellcmd,exec,link,mail,openlog,passthru,pcntl_alarm,pcntl_exec,pcntl_fork,pcntl_get_last_error,pcntl_getpriority,pcntl_setpriority,pcntl_signal,pcntl_signal_dispatch,pcntl_sigprocmask,pcntl_sigtimedwait,pcntl_sigwaitinfo,pcntl_strerror,pcntl_wait,pcntl_waitpid,pcntl_wexitstatus,pcntl_wifexited,pcntl_wifsignaled,pcntl_wifstopped,pcntl_wstopsig,pcntl_wtermsig,php_check_syntax,php_strip_whitespace,popen,proc_close,proc_open,shell_exec,symlink,system
Upload Files
File: //usr/share/gdb/guile/gdb/printing.scm
;; Additional pretty-printer support.
;;
;; Copyright (C) 2014-2018 Free Software Foundation, Inc.
;;
;; This file is part of GDB.
;;
;; This program is free software; you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation; either version 3 of the License, or
;; (at your option) any later version.
;;
;; This program is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
;; GNU General Public License for more details.
;;
;; You should have received a copy of the GNU General Public License
;; along with this program.  If not, see <http://www.gnu.org/licenses/>.

(define-module (gdb printing)
  #:use-module ((gdb) #:select
		(pretty-printer? objfile? progspace?
		 pretty-printers set-pretty-printers!
		 objfile-pretty-printers set-objfile-pretty-printers!
		 progspace-pretty-printers set-progspace-pretty-printers!))
  #:use-module (gdb support))

(define-public (prepend-pretty-printer! obj matcher)
  "Add MATCHER to the beginning of the pretty-printer list for OBJ.
If OBJ is #f, add MATCHER to the global list."
  (assert-type (pretty-printer? matcher) matcher SCM_ARG1
	       'prepend-pretty-printer! "pretty-printer")
  (cond ((eq? obj #f)
	 (set-pretty-printers! (cons matcher (pretty-printers))))
	((objfile? obj)
	 (set-objfile-pretty-printers!
	  obj (cons matcher (objfile-pretty-printers obj))))
	((progspace? obj)
	 (set-progspace-pretty-printers!
	  obj (cons matcher (progspace-pretty-printers obj))))
	(else
	 (assert-type #f obj SCM_ARG1 'prepend-pretty-printer!
		      "#f, objfile, or progspace"))))

(define-public (append-pretty-printer! obj matcher)
  "Add MATCHER to the end of the pretty-printer list for OBJ.
If OBJ is #f, add MATCHER to the global list."
  (assert-type (pretty-printer? matcher) matcher SCM_ARG1
	       'append-pretty-printer! "pretty-printer")
  (cond ((eq? obj #f)
	 (set-pretty-printers! (append! (pretty-printers) (list matcher))))
	((objfile? obj)
	 (set-objfile-pretty-printers!
	  obj (append! (objfile-pretty-printers obj) (list matcher))))
	((progspace? obj)
	 (set-progspace-pretty-printers!
	  obj (append! (progspace-pretty-printers obj) (list matcher))))
	(else
	 (assert-type #f obj SCM_ARG1 'append-pretty-printer!
		      "#f, objfile, or progspace"))))