1
by Joachim Erfle
initial commit |
1 |
! $Id: configurable.f90 11680 2011-03-27 17:57:51Z airwin $
|
2 |
!
|
|
3 |
! Copyright (C) 2004 Alan W. Irwin
|
|
4 |
!
|
|
5 |
! This file is part of PLplot.
|
|
6 |
!
|
|
7 |
! PLplot is free software; you can redistribute it and/or modify
|
|
8 |
! it under the terms of the GNU Library General Public License as
|
|
9 |
! published by the Free Software Foundation; either version 2 of the
|
|
10 |
! License, or (at your option) any later version.
|
|
11 |
!
|
|
12 |
! PLplot is distributed in the hope that it will be useful,
|
|
13 |
! but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
14 |
! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
15 |
! GNU Library General Public License for more details.
|
|
16 |
!
|
|
17 |
! You should have received a copy of the GNU Library General Public
|
|
18 |
! License along with PLplot; if not, write to the Free Software
|
|
19 |
! Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
|
20 |
||
21 |
subroutine plparseopts(mode) |
|
22 |
implicit none
|
|
23 |
include 'sfstubs.h' |
|
24 |
integer mode |
|
25 |
integer maxargs, iargs, numargs, index, maxindex, iargc, islen |
|
26 |
parameter(maxindex = maxlen/4) |
|
27 |
parameter (maxargs=20) |
|
28 |
character*(maxlen) arg |
|
29 |
integer*4 iargsarr(maxindex, maxargs) |
|
30 |
! write(0,'(a)') 'plparseopts not implemented on this fortran'//
|
|
31 |
! & ' platform because iargc or getarg are not available'
|
|
32 |
numargs = iargc() |
|
33 |
if(numargs.lt.0) then |
|
34 |
! This actually happened on badly linked Cygwin platform.
|
|
35 |
write(0,'(a)') 'plparseopts: negative number of arguments' |
|
36 |
return
|
|
37 |
endif |
|
38 |
if(numargs+1.gt.maxargs) then |
|
39 |
write(0,'(a)') 'plparseopts: too many arguments' |
|
40 |
return
|
|
41 |
endif |
|
42 |
do 10 iargs = 0, numargs |
|
43 |
call getarg(iargs, arg) |
|
44 |
call plstrf2c(arg(:islen(arg)), string1, maxlen) |
|
45 |
s1 = transfer( string1, s1 ) |
|
46 |
do 5 index = 1, maxindex |
|
47 |
iargsarr(index, iargs+1) = s1(index) |
|
48 |
5 continue |
|
49 |
10 continue |
|
50 |
call plparseopts7(numargs+1, iargsarr, mode, maxindex*4) |
|
51 |
end subroutine plparseopts |