! sysdep.f90 - 環境依存ルーチン原始界面
! Copyright (C) GFD Dennou Club, 2000.  All rights reserved
!
! dcl が移植できない場合（の解析ができない場合）や GUI への対応に備え、
! 環境依存ルーチンを自前で持っている。必要であれば DCL の当該
! サブルーチンを利用するように実装しなおすことも可能である。

module sysdep

    private
    public:: AbortProgram, SysdepArgGet, SysdepArgCount

    interface AbortProgram
        subroutine SysdepAbort(string)
            character(len = *):: string
        end subroutine
        module procedure AbortProgramVST
    end interface

    interface
        integer function SysdepArgCount()
        end function

        subroutine SysdepArgGet(index, value)
            use dc_string, only: VSTRING
            integer, intent(in):: index
            type(VSTRING):: value
        end subroutine
    end interface

contains

    subroutine AbortProgramVST(string)
        use dc_string, only: VSTRING, vchar, len
        type(VSTRING), intent(in):: string
        call AbortProgram(vchar(string, len(string)))
    end subroutine

end module
