This file is indexed.

/usr/share/gnudatalanguage/lib/restore.pro is in libgnudatalanguage0 0.9.7-6.

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
107
108
109
110
111
112
;+
; NAME: RESTORE
;
; PURPOSE:
;       Serves as a wrapper around CMSAVE from Craig B. Markwardt CMVSLIB
;       library. You must download and install yourself this CMVSLIB library
;       then add it PATH in your GDL_PATH. This library can be found here:
;       http://cow.physics.wisc.edu/~craigm/idl/cmsave.html
;
; MODIFICATION HISTORY:
;   01-Sep-2006 : written by Joel Gales
;   15-dec-2006 : by Alain Coulais (AC)
;      1/ explicite HTTP link in header to external CMVSLIB library
;      2/ test via EXECUTE() in pro to warn new users for missing
;                   external CMVSLIB library
;   12-feb-2007: modifications by AC: 
;      1a/ managing filename.
;      1b/ default filename if no filename provided (see CMSAVE) 
;      2/ add keyword /verbose ... (but bug in CMRESTORE (2 time print !))
;      3/ warning for 3 keywords not managed yet
;   13-Nov-2012: modifications by AC:
;      1/ feature request 3581835
;      2/ proper STRING conversion of input file name
;      3/ extra keywords /help and /test
;
; LICENCE:
; Copyright (C) 2006-2012, J. Gales and A. Coulais
; 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 2 of the License, or
; (at your option) any later version.
;
;-
pro RESTORE, filename0, filename=filename1, $
             RELAXED_STRUCTURE_ASSIGNMENT=RELAXED_STRUCTURE_ASSIGNMENT, $
             DESCRIPTION=DESCRIPTION, RESTORED_OBJECTS=RESTORED_OBJECTS, $
             help=help, verbose=verbose, test=test
ON_ERROR, 2
;
if KEYWORD_SET(help) then begin
    print, 'pro RESTORE, filename0, filename=filename1'
    print, '             RELAXED_STRUCTURE_ASSIGNMENT=RELAXED_STRUCTURE_ASSIGNMENT, $'
    print, '             DESCRIPTION=DESCRIPTION, RESTORED_OBJECTS=RESTORED_OBJECTS, $'
    print, '             help=help, verbose=verbose, test=test'
    return
end
;
if (EXECUTE('res=CMSVLIB(/QUERY)') EQ 0) then begin
    MESSAGE, /CONTINUE, "Missing CMSVlib in your GDL_PATH or IDL_PATH"
    MESSAGE, /CONTINUE, "please read RESTORE header for help."
    return
endif
;
; not available KEYWORDs (compatibility reasons)
;
if (N_ELEMENTS(RELAXED_STRUCTURE_ASSIGNMENT) GT 0) then begin
    print, "% RESTORE: keyword RELAXED_STRUCTURE_ASSIGNMENT not managed"
endif
;
if (N_ELEMENTS(DESCRIPTION) GT 0) then begin
    print, "% RESTORE: keyword DESCRIPTION not managed"
endif
;
if (N_ELEMENTS(RESTORED_OBJECTS) GT 0) then begin
    print, "% RESTORE: keyword RESTORED_OBJECTS not managed"
endif
;
; what is the effective filename ?
;
if (N_ELEMENTS(filename0) EQ 0) AND (N_ELEMENTS(filename1) EQ 0) then begin
    ;; filename set by default
    filename = 'cmsave.sav'
    print, "% RESTORE: default FILENAME is used : ", filename
endif else begin
    ;; when f0 and f1 are both provided, param f0 is used ...
    if (N_ELEMENTS(filename1) GT 0) then filename=filename1
    if (N_ELEMENTS(filename0) GT 0) then filename=filename0
    ;;
    ;; one and only one file at a time
    if (N_ELEMENTS(filename) GT 1) then begin
        txt = "Expression must be a scalar or 1 element array in this context: "
        HELP, filename, out=out
        mess='<'+STRTRIM(STRMID(out, STRLEN('filename')),2)+'>'
        MESSAGE, txt + mess
    endif
    ;;
    ;; Can we convert the "filename" into a true string ...
    res=EXECUTE('tmp_name=STRING(filename)')
    if (res EQ 0) then begin
        return
    endif else begin
        filename=tmp_name
    endelse
    ;;
endelse
;
; we check whether the file is here or not ...
;
if (FILE_TEST(filename) NE 1) then begin
    MESSAGE, "FILE not found : "+filename
endif
;
CMRESTORE, filename, verbose=verbose, names=_nme_, $
  data=data, pass_method='struct'
;
for i = 0, N_ELEMENTS(_nme_) - 1 do begin
    dummy = ROUTINE_NAMES(_nme_[i], data.(i), store=-1)
endfor
;
if KEYWORD_SET(test) then STOP
;
end