This file is indexed.

/usr/lib/x86_64-linux-gnu/fis-gtm/V6.3-000A_x86_64/_GSEL.m is in fis-gtm-6.3-000a 6.3-000A-1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;								;
;	Copyright 1987, 2006 Fidelity Information Services, Inc	;
;								;
;	This source code contains the intellectual property	;
;	of its copyright holder(s), and is made available	;
;	under a license.  If you do not know the terms of	;
;	the license, please stop and do not read further.	;
;								;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
%GSEL	;GT.M %GSEL utility - global select into a local array
	;invoke ^%GSEL to create %ZG - a local array of existing globals, interactively
	;
	n add,beg,cnt,end,g,gd,gdf,k,out,pat,stp,i,c,g1
	i '$d(%zdebug) n $et s $et="zg "_$zl_":ERR^%GSEL" u $p:(ctrap=$c(3):exc="zg "_$zl_":LOOP^%GSEL")
	d init,main
	u $p:(ctrap="":exc="")
	q
GD	n add,beg,cnt,end,g,gd,gdf,k,out,pat,stp
	s cnt=0,(out,gd,gdf)=1
	d main
	i gdf s %ZG="*" d setup,it w !,"Total of ",cnt," global",$s(cnt=1:".",1:"s."),!
	q
CALL	n add,beg,cnt,end,g,gd,gdf,k,out,pat,stp,i,c,g1
	s (cnt,gd)=0
	i $d(%ZG)>1 s g="" f  s g=$o(%ZG(g)) q:'$l(g)  s cnt=cnt+1
	i $g(%ZG)'?.N s out=0 d setup,it s %ZG=cnt q
	s out=1
	d main
	q
init	k %ZG
	s (cnt,gd)=0,out=1
	q
main	f  d inter q:'$l(%ZG)
	s %ZG=cnt
	q
inter	r !,"Global ^",%ZG,! q:'$l(%ZG)
	i $e(%ZG)="?",$l(%ZG)=1 d help q
	i (%ZG="?D")!(%ZG="?d") d cur q
	d setup,it
	w !,$s(gd:"T",1:"Current t"),"otal of ",cnt," global",$s(cnt=1:".",1:"s."),!
	q
setup	i gd s add=1,cnt=0,g=%ZG k %ZG s %ZG=g
	e  i "'-"[$e(%ZG) s add=0,g=$e(%ZG,2,999)
	e  s add=1,g=%ZG
	s g=$tr(g,"? !""#$&'()+'-./;<=>@[]\^_`{}|~","%")
	s g=$tr(g,$c(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,127))
	s g1="" f i=1:1:$l(g) s c=$e(g,i) if $a(c)<128 s g1=g1_c ; Filter out "all" non-ascii characters (be it M or UTF-8)
	s g=g1
	s end=$p(g,":",2),beg=$p(g,":")
	i end=beg s end=""
	q
it	s gdf=0
	i end'?."*",end']beg q
	s g=beg d pat
	i pat["""" d start f  d search q:'$l(g)  d save
	i pat["""",'$l(end) q
	s beg=stp
	i '$l(g) s g=stp
	s pat=".E",stp="^"_$e(end)_$tr($e(end,2,9999),"%","z") d start f  d search q:'$l(g)  d save
	s g=end d pat
	i pat["""" s:beg]g g=beg d start f  d search q:'$l(g)  d save
	q
pat
	n tmpstp
	i $e(g)="%" s g="!"_$e(g,2,9999)
	s pat=g
	f  q:$l(g,"%")<2  s g=$p(g,"%",1)_"#"_$p(g,"%",2,999),pat=$p(pat,"%",1)_"""1E1"""_$p(pat,"%",2,999)
	f  q:$l(g,"*")<2  s g=$p(g,"*",1)_"$"_$p(g,"*",2,999),pat=$p(pat,"*",1)_""".E1"""_$p(pat,"*",2,999)
	i $e(g)="!" s g="%"_$e(g,2,9999),pat="%"_$e(pat,2,9999)
	i pat["""" s pat="1""^"_pat_""""
	s tmpstp="z",$p(tmpstp,"z",30)="z"
	s g="^"_$p($p(g,"#"),"$"),stp=g_$e(tmpstp,$l(g)-1,31)
	q
start	i g="^" s g="^%"
	i g?@pat,$d(@g) d save
	q
search	f  s g=$o(@g) s:g]stp g="" q:g?@pat!'$l(g)
	q
save	i add,'$d(%ZG(g)) s %ZG(g)="",cnt=cnt+1 d prt:out
	i 'add,$d(%ZG(g)) k %ZG(g) s cnt=cnt-1 d prt:out
	q
prt	w:$x>70 ! w g,?$x\10+1*10
	q
help	;
	w !,?2,"<RET>",?25,"to leave",!,?2,"""*""",?25,"for all"
	w !,?2,"global",?25,"for 1 global"
	w !,?2,"global1:global2",?25,"for a range"
	w !,?2,"""*"" as a wildcard",?25,"permitting any number of characters"
	w !,?2,"""%"" as a wildcard",?25,"for a single character in positions other than the first"
	w !,?2,"""?"" as a wildcard",?25,"for a single character in positions other than the first"
	i gd q
	w !,?2,"""'"" as the 1st character",!,?25,"to remove globals from the list"
	w !,?2,"?D",?25,"for the currently selected globals",!
	q
cur	w ! s g=""
	f  s g=$o(%ZG(g)) q:'$l(g)  w:$x>70 ! w g,?($x\10+1*10)
	q
ERR	u $p w !,$p($ZS,",",2,999),!
	u $p:(ctrap="":exc="")
	s $ec=""
	q
LOOP	d main
	u $p:(ctrap="":exc="")
	q