*
* $Id: cdmovf.F,v 1.1.1.1 1996/02/28 16:24:44 mclareni Exp $
*
* $Log: cdmovf.F,v $
* Revision 1.1.1.1  1996/02/28 16:24:44  mclareni
* Hepdb, cdlib, etc
*
*
#include "hepdb/pilot.h"
      SUBROUTINE CDMOVF(CHOLD,CHNEW,CHOPT,IRC)
      CHARACTER*(*) CHOLD,CHNEW
      CHARACTER*80  CHLINE,CHTYPE,CHDEV,CHLOG
#include "hepdb/hdbopts.inc"
 
      IRC = 0
 
* Move file from CHOLD to CHNEW.
* If IOPTK = 0 then CHOLD will be deleted
 
#if defined(CERNLIB_VAXVMS)
 
      ISTAT = LIB$GET_LUN(LUNIN)
      IF(.NOT.ISTAT) CALL LIB$SIGNAL(%VAL(ISTAT))
      ISTAT = LIB$GET_LUN(LUNOU)
      IF(.NOT.ISTAT) CALL LIB$SIGNAL(%VAL(ISTAT))
 
      LOLD = LENOCC(CHOLD)
      LNEW = LENOCC(CHNEW)
 
      CHTYPE = 'VARIABLE'
      ICOLON = INDEX(CHNEW(1:LNEW),':')
      IF(ICOLON.NE.0) THEN
         CHDEV = CHNEW(1:ICOLON-1)
         CALL CLTOU(CHDEV(1:ICOLON-1))
         CALL CDGTLG(CHDEV,CHLOG,'LNM$SYSTEM',IRC)
#endif
#if (defined(CERNLIB_VAXVMS))&&(defined(CERNLIB_UCX))
         IF(IRC.EQ.0.AND.INDEX(CHLOG,'DNFS').NE.0)
     +      CHTYPE='STREAM_LF'
#endif
#if (defined(CERNLIB_VAXVMS))&&(!defined(CERNLIB_UCX))
         IF(IRC.EQ.0.AND.INDEX(CHLOG,'_NFS').NE.0)
     +      CHTYPE='STREAM_LF'
#endif
#if defined(CERNLIB_VAXVMS)
 
      ENDIF
 
      OPEN(LUNIN,ACCESS='SEQUENTIAL',STATUS='OLD',
     +     FILE=CHOLD(1:LOLD),
     +     FORM='FORMATTED',IOSTAT=IRC)
      IF(IRC.NE.0) GOTO 99
 
      OPEN(LUNOU,ACCESS='SEQUENTIAL',STATUS='NEW',
     +     FILE=CHNEW(1:LNEW),
     +     RECORDTYPE=CHTYPE,
     +     FORM='FORMATTED',IOSTAT=IRC)
      IF(IRC.NE.0) GOTO 99
 
10    CONTINUE
 
      READ(LUNIN,'(A)',END=90) CHLINE
      LLINE = LENOCC(CHLINE)
      WRITE(LUNOU,'(A)') CHLINE(1:LLINE)
      GOTO 10
 
90    CONTINUE
      IF(IOPTK.EQ.0) THEN
         CLOSE(LUNIN,STATUS='DELETE')
      ELSE
         CLOSE(LUNIN)
      ENDIF
      CLOSE(LUNOU)
 
      ISTAT = LIB$FREE_LUN(LUNIN)
      IF(.NOT.ISTAT) CALL LIB$SIGNAL(%VAL(ISTAT))
      ISTAT = LIB$FREE_LUN(LUNOU)
      IF(.NOT.ISTAT) CALL LIB$SIGNAL(%VAL(ISTAT))
#endif
99    CONTINUE
      END