This file is indexed.

/usr/share/gnudatalanguage/astrolib/dbget.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
 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
106
function dbget,item,values,listin,SILENT=silent, FULLSTRING = fullstring, $
               Count = count
;+
; NAME:
;       DBGET
; PURPOSE:
;       Find entry numbers which contain specified values of a given item.
; EXPLANATION:
;       DBGET() is useful as an alternative to DBFIND() when the desired 
;       search values are not easily expressed as a string.  
;
; CALLING SEQUENCE:
;       list = dbget( item, values, [ listin ], /SILENT, /FULLSTRING )
;
; INPUTS:
;       item - Item name or number
;       values -  scalar or vector containing item values to search for.
;
; OPTIONAL INPUTS:
;       listin - list of entries to be searched.  If not supplied, or
;               set to -1, then all entries are searched
;
; OUTPUT:
;       list - vector giving the entry number of entries containing desired
;               item values.  The number of elements in  LIST may be different 
;               from that of VALUE, since a value might be located zero, once, 
;               or many times in the database.  Use the function DBMATCH if a 
;               one to one correspondence is desired between VALUES and LIST. 
; OPTIONAL INPUT KEYWORDS:
;       /SILENT - If this keyword is set, then DBGET will not display
;               the number of entries found
;       /FULLSTRING - By default, one has a match if a search string is 
;               included in any part of a database value (substring match).   
;               But if /FULLSTRING is set, then all characters in the database
;               value must match the search string (excluding leading and 
;               trailing blanks).    Both types of string searches are case
;               insensitive.
; OPTIONAL OUTPUT KEYWORD:
;       COUNT - Integer scalar giving the number of valid matches
;
; RESTRICTIONS:
;       When linked databases are opened together, DBGET can only be used to
;       search on items in the primary database.
; EXAMPLE:
;       Get info on selected HD stars in Bright Star catalogue
;
;       IDL> dbopen, 'YALE_BS' 
;       IDL> hdno = [1141,2363,3574,4128,6192,6314,6668]    ;Desired HD numbers
;       IDL> list = dbget( 'HD', hdno )        ;Get corresponding entry numbers
;
; SYSTEM VARIABLES:
;       The obsolete system variable !ERR is set to number of entries found
; REVISION HISTORY:
;       Written,    W. Landsman      STX     February, 1989
;       William Thompson, GSFC, 14 March 1995 Added keyword FULLSTRING
;       Converted to IDL V5.0   W. Landsman   September 1997
;       Added COUNT keyword, deprecate !ERR        W. Landsman March 2000
;       Fix bug introduced March 2000              W. Landsman November 2000
;       Fix possible bug when sublist supplied    W. Landsman August 2008
;-
;
 On_error,2                                   ;Return to caller
 compile_opt idl2

 if N_params() LT 2 then begin
   print,'Syntax --  list = ' + $
          'DBGET( item, values, [listin, /SILENT, /FULLSTRING, Count=]'
   return,-1
 endif
   
 if N_params() LT 3 then listin = lonarr(1)-1

 nvals = N_elements(values)

 if nvals EQ 0 then message,'No search values supplied'

 db_item, item, itnum
 index = db_item_info( 'INDEX', itnum)
 list = listin
 
 if nvals EQ 1 then val = [values,values] $  ;Need at least 2 elements
               else val = values 

 if index[0] GE 2 then begin                              ;Sorted item
    if N_elements(list) EQ 1 then list = lonarr(1) + list
    dbfind_sort, itnum[0], nvals, val, list, $
            FULLSTRING = fullstring, Count =count

 endif else begin                                        ;Non-sorted item
    dbext, list, itnum, itvals
    dbsearch, nvals, val, itvals, good, FULLSTRING = fullstring, Count = count
    if count GT 0 then $     ;Updated Aug 2008
        if list[0] NE -1 then list = list[good] else list = good+1
 endelse

 if count LE 0 then begin
     if not keyword_set(SILENT) then $
         print, 'No entries found by DBGET in ' + db_info( 'NAME',0 )
     list = intarr(1)  

 endif else  if not keyword_set( SILENT ) then $
          print,count,' entries found in '+db_info('name',0)

 return, list[ sort(list) ]

 end