* PACKAGE GTHEAD   !" ヘッダの変更
*********************************************************************
      PROGRAM GTHEAD
*
#ifdef SYS_IBMS
      INCLUDE    (GTSINC)
      INCLUDE    (GZSIZE)
#else
#include         "gtsinc.F"
#include         "gzsize.F"
#endif
*
      PARAMETER  ( NCOL=NFILN+NCC, MAXCHG=20 )
*
      CHARACTER  HHEAD( NDC )*(NCC)
      REAL       GDATA( IJKDIM   )
      CHARACTER  HP   *(NCC)
      CHARACTER  HXX  *(2*NCC)
      CHARACTER  HX   *(NCC)
      CHARACTER  HFMT *(NCC)
*
      CHARACTER  HSPEC( MAXCHG+1 ) *(NCOL)
      DATA       HSPEC / '$GTTMPDIR/gtool.out', MAXCHG*' '  /
      INTEGER    IFILE
      DATA       IFILE  / 50 /
      DATA       JFILE  / 60 /
*
      CHARACTER  OUT  *(NFILN)
      DATA       OUT    / '$GTTMPDIR/gtool.out' /
      LOGICAL    APND
      DATA       APND   / .FALSE. /
      LOGICAL    HELP
      DATA       HELP   / .FALSE. /
*
      NAMELIST  /OPTION/ OUT, APND, HELP, HSPEC
*
      CALL OPTARG ( 91, 'OPTION', 'HSPEC', NOPT, NFILE )
      READ (91,OPTION,IOSTAT=IOS)
      CLOSE(91)
      IF ( IOS.NE.0 .OR. HELP ) THEN
         WRITE(6,OPTION)
         STOP
      ENDIF
*
      CALL GTOPEN
      CALL GTSIZE ( HHEAD, IJKDIM )
*
      CALL GURNTF ( HSPEC( 1 ), OUT  , '$GTTMPDIR/gtool.in' )
*
      CALL GFROPN ( IFILE, HSPEC( 1 ) )
      CALL GFOOPN ( JFILE,  OUT , APND )
*
      CALL GUNENV( OUT,'.',.FALSE. )
      IL=LENC(OUT)
      WRITE (6,*) 'output='//OUT(1:IL)
*
 1100 CONTINUE
*
         CALL   GFREAD
     O        ( HHEAD, GDATA, IEOD ,
     I          IFILE , 1               )
*
         IF ( IEOD .EQ. 0 ) THEN
*
            DO 2100 I = 2, MAXCHG+1
               IF ( HSPEC(I) .NE. ' ' ) THEN
                  IC = INDEX( HSPEC(I),'/' )
                  IF ( IC .GT. 0 ) THEN
                     HP  = HSPEC(I)(1:IC-1)
                     HXX = HSPEC(I)(IC+1:NCOL)
                     HX  = HXX
                     IF ( HP .EQ. 'TITLE' ) THEN
                        CALL GHCSTS(HHEAD,'TITL',HXX)
                     ELSE IF ( HP .NE. 'SIZE' ) THEN
                        CALL GHPINQ(HP,HFMT)
                        IF ( HFMT .NE. '(A)' ) THEN
                           CALL CRADJ(HX)
                        ENDIF
                        CALL GHCSET(HHEAD,HP,HX)
                     ENDIF
                  ENDIF
               ENDIF
 2100       CONTINUE 
*
           CALL  GFWRIT
     I         ( HHEAD , GDATA ,
     I           JFILE , 1     , 0       )
*
      GOTO 1100
         ENDIF
*
      STOP
      END
