This file is indexed.

/usr/share/doc/freefem++/examples/examples++-mpi/getARGV.idp is in freefem++-doc 3.19.1-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
 // for gestion of FreeFem++ argument and in version 3.10-1 FH
 // F. Hecht 
 // Usage:  getARGV(n,defaultvalue) // get the fist used default valeu
 //  or     getARGV(after,defaultvalue) // get the arg after after 
 // the type of delfaut value given the return type: int,double, string
 func int usedARGV(int n)
{
  int k=1,ii=1,kk=1,ret=-1;
  for(int i=1;i<ARGV.n;++i)
   {
   // cout <<i<< " "<< ARGV[i] << " " <<(ARGV[i]=="-v") << " " << kk << "==" 
   //      << n << " " << ARGV[i].rfind("dp") << " " <<ARGV[i].length-2  << endl;
        
       if(ARGV[i]=="-v") i++;
       else if(ARGV[i]=="-fglut") i++;
       else if(ARGV[i]=="-ffg") i++;
       else if(ARGV[i]=="-glut") i++;
       else if(ARGV[i]=="-f") i++;
       else if(ARGV[i]=="-nw") ii;
       else if(ARGV[i]=="-wait") ii;
       else if(ARGV[i]=="-ne") ii;
       else if(ARGV[i]=="-cd") ii;
       //else if(ARGV[i].rfind(".edp")==ARGV[i].length-4 ) ii;
       else if(i==1) ii;
       else if(kk++==n) {ret=i;}
      // else cout << " +++ \n";
     }
   //  cout << ret << endl;
    return ret;
}

func int usedARGV(string after)
{
  int ret=-1;
  for(int i=ARGV.n-1;i>=0;--i)        
       if(ARGV[i]==after) { ret=++i; break;}
  if(ARGV.n<ret) ret=-1;
  return ret;
}

func int getARGV(int n,int default)
{
   int d=default;
   int k=usedARGV(n);
   if(k>0) d=atoi(ARGV[k]);
    return d;
}
func real getARGV(int n,real default)
{
   real d=default;
   int k=usedARGV(n);
   if(k>0) d=atof(ARGV[k]);
   return d;
}
func string getARGV(int n,string default)
{
   string d=default;
   int k=usedARGV(n);
   if(k>0) d=ARGV[k];
    return d;
}

func int getARGV(string after,int default)
{
   int d=default;
   int k=usedARGV(after);
   if(k>0) d=atoi(ARGV[k]);
    return d;
}
func real getARGV(string after,real default)
{
   real d=default;
   int k=usedARGV(after);
   if(k>0) d=atof(ARGV[k]);
   return d;
}
func string getARGV(string after,string default)
{
   string d=default;
   int k=usedARGV(after);
   if(k>0) d=ARGV[k];
    return d;
}

/*
cout << getARGV(1,100) << endl;
cout << getARGV(2,200.) << endl;
cout << getARGV(3,"300.000") << endl;
cout << getARGV("-n"," xxx") << endl;
*/