This file is indexed.

/usr/share/gnudatalanguage/astrolib/dbxval.pro is in gdl-astrolib 2018.02.16+dfsg-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
function dbxval,entry,idltype,nvalues,sbyte,nbytes,bswap=bswap
;+
; NAME: 
;       DBXVAL
;
; PURPOSE:      
;       Quickly return a value of the specified item number     
; EXPLANATION:
;       Procedure to quickly return a value of the specified item number
;       from the entry.
;
; CALLING SEQUENCE:     
;       result = dbxval( entry, idltype, nvalues, sbyte, nbytes )
;
; INPUTS        
;       entry - entry or entries from data base (bytarr) 
;       idltype - idl data type (obtained with db_item_info)
;       nvalues - number of values to return (obtained with db_item)
;       sbyte - starting byte in the entry (obtained with db_item)
;       nbytes - number of bytes (needed only for string type)
;                       (obtained with db_item)
;
; OUTPUTS:      
;       function value is value of the specified item in entry
;
; KEYWORDS:
;       bswap - If set, then SWAP_ENDIAN_INPLACE is called.
;
; RESTRICTIONS: 
;       To increase speed the routine assumes that entry and item are
;       valid and that the data base is already opened using dbopen.
;
; REVISION HISTORY:     
;       version 0  D. Lindler Nov. 1987  (for new db format)
;       Version 1, William Thompson, GSFC, 28 March 1994.
;                       Incorporated into CDS library.
;       Version 2, Richard Schwartz, GSFC/SDAC, 23 August 1996
;                       Allowed Entry to have 2 dimensions
;       Version 2.1, 22 Feb 1997, JK Feggans, 
;                               avoid reform for strings arrays.
;       Version 2.2     Use overwrite with REFORM(),  W. Landsman,  May 1997
;       Work for multiple-valued strings   W. Landsman   October 2000
;       Add new 64bit & unsigned integer datatypes W.Landsman   July 2001
;       Version 3, 2-May-2003, JK Feggans/Sigma, W.T. Thompson
;           Added BSWAP keyword to avoid floating errors on some platforms.
;       Version 3.1 Remove IEEE_TO_HOST  W. Landsman   May 2016
;-
;----------------------------------------------------------------
;
;
nentry = n_elements(entry[0,*])

case idltype of                 ;case of data type
  1: val = byte(entry[sbyte:sbyte+nvalues-1,*],0,nvalues,nentry)
  2: val = fix(entry[sbyte:sbyte+nvalues*2-1,*],0,nvalues,nentry)
  3: val = long(entry[sbyte:sbyte+nvalues*4-1,*],0,nvalues,nentry)
  4: val = float(entry[sbyte:sbyte+nvalues*4-1,*],0,nvalues,nentry)
  5: val = double(entry[sbyte:sbyte+nvalues*8-1,*],0,nvalues,nentry)
  7: val = string( reform( entry[sbyte:sbyte+nbytes-1,*], nbytes/nvalues, $
                   nvalues, nentry))
 12: val = uint(entry[sbyte:sbyte+nvalues*2-1,*],0,nvalues,nentry)
 13: val = ulong(entry[sbyte:sbyte+nvalues*4-1,*],0,nvalues,nentry)
 14: val = long64(entry[sbyte:sbyte+nvalues*8-1,*],0,nvalues,nentry)
 15: val = ulong64(entry[sbyte:sbyte+nvalues*8-1,*],0,nvalues,nentry)
endcase
;
if keyword_set(bswap) then swap_endian_inplace,val,/swap_if_little

if ( nvalues EQ 1 and nentry EQ 1) then return,val[0] else $
        if idltype eq 7 then return,val else return,reform(val,/overwrite)
end