/usr/share/gnudatalanguage/astrolib/dbclose.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 | pro dbclose,dummy
;+
; NAME:
; DBCLOSE
; PURPOSE:
; procedure to close a data base file
;
; CALLING SEQUENCE:
; dbclose
;
; INPUTS:
; None
;
; OUTPUTS
; None
;
; SIDE EFFECTS:
; the data base files currently opened are closed
;
; PROCEDURE CALLS:
; DB_INFO()
; HISTORY:
; version 2 D. Lindler Oct. 1987
; For IDL version 2 August 1990
; William Thompson, GSFC/CDS (ARC), 30 May 1994
; Added support for external (IEEE) data format
; Remove call to HOST_TO_IEEE W. Landsman June 2013
;-
;------------------------------------------------------------------------
On_error,2
common db_com, QDB, QITEMS, QDBREC ;Database common - see DBOPEN
if N_elements(qdb) LT 120 then return ;No db opened
ndb = db_info('NUMBER') ;number of data bases opened
update = db_info('UPDATE',0) ;opened for update?
; If database open for update, write total number of entries in zeroeth record
if update EQ 1 then begin ;update header
output = [db_info('entries',0), db_info('seqnum',0)]
if qdb[119] eq 1 then $
swap_endian_inplace, output, /Swap_if_little ;External format?
qdbrec[0] = byte(output,0,8)
endif
for i = 0, ndb-1 do begin ;loop on units (2 per data base)
unit1 = qdb[96,i] ;unit numbers
unit2 = qdb[97,i] ;unit numbers
if unit1 gt 0 then free_lun,unit1 ;Is it opened?
if unit2 gt 0 then free_lun,unit2 ;Is it opened?
endfor
qdb=0 ;mark as closed
return
end
|