! Copyright (C) GFD Dennou Club, 2000-2001. All rights reserved ! sysdeparg.m4 - 環境依存性ルーチン (コマンドライン取得) ! 通常の設定では DCL の OSLIB を用いるが、OSLIB の設定が悪い場合には ! 自前で対処する能力を一応もっておく。 ! 通常の処理系では iargc, getarg というサービスサブルーチンが ! つけられている。これを使えない処理系では適宜対処が必要である。 ! 日立コンパイラでは上記サービスサブルーチンの挙動が違うので注意。 INTEGER FUNCTION SYSDEPARGCOUNT() RESULT(RESULT) IMPLICIT NONE CALL OSQARN(RESULT) END FUNCTION SUBROUTINE SYSDEPARGGET(IDX_GIVEN, RESULT) IMPLICIT NONE INTEGER, INTENT(IN):: IDX_GIVEN CHARACTER(LEN = *), INTENT(OUT):: RESULT INTEGER:: IDX INTEGER:: ARGC INTERFACE INTEGER FUNCTION SYSDEPARGCOUNT() END FUNCTION END INTERFACE ARGC = SYSDEPARGCOUNT() IF (IDX_GIVEN < 0) THEN IDX = ARGC + 1 + IDX_GIVEN ELSE IDX = IDX_GIVEN ENDIF IF (IDX > ARGC) THEN RESULT = "" ELSE CALL OSGARG(IDX, RESULT) ENDIF END SUBROUTINE