anchor.diff:  c
    20   continue
           ierr=1
  +        errstrng="read_slip"
           close(kr)
           return
   c
   c...  error reading input file
   c
    30   continue
  -        ierr=1
  +        ierr=3
  +        errstrng="read_slip"
  +        close(kr)
  +        return
  +c
  +c...  error opening output file
  +c
  + 50   continue
  +        ierr=2
  +        errstrng="read_slip"
  +        close(kr)
  +        return
  +c
  +c...  error writing to output file
  +c
  + 60   continue
  +        ierr=4
  +        errstrng="read_slip"
           close(kr)
           return
   c
  
positive.code:       end
  c
  c version
  c $Id: read_slip.f,v 1.1 2004/04/14 21:18:30 willic3 Exp $
  c
  c Generated automatically by Fortran77Mill on Wed May 21 14:15:03 2003
  c
  
negative.code:       ierr=0
        numsn=0
        call ifill(nslip,izero,nsdim*numslp)
        if(numslp.ne.izero) open(kr,file=slfile,status="old",err=20)
  c
  c...  open output files
  c
        if(idout.gt.izero) open(kw,file=ofile,err=50,status="old",
       & access="append")
        if(idsk.eq.izero) open(kp,file=pfile,err=50,status="old",
       & access="append")
        if(idsk.eq.ione) open(kp,file=pfile,err=50,status="old",
       & access="append",form="unformatted")
  c
  c...  read slippery node entries, and output results if desired
  c
        if(idsk.eq.izero) write(kp,3000,err=60) numslp
        if(idsk.eq.ione) write(kp,err=60) numslp
        if(numslp.ne.izero) then
          call pskip(kr)
          npage=50
          do i=1,numslp
            read(kr,*,end=30,err=30) (nslip(j,i),j=1,nsdim)
            if((i.eq.ione.or.mod(i,npage).eq.izero).and.
       &     idout.gt.izero) then
              write(kw,1000,err=60) (labeld(j),j=1,ndof)
              write(kw,*,err=60) ' '
            end if
            if(iskopt.ne.ione.and.ndof.gt.itwo) then
              if(nslip(3,i).ne.izero) then
                nslip(4,i)=nslip(3,i)
                nslip(5,i)=izero
              else if(nslip(4,i).ne.izero) then
                nslip(3,i)=nslip(4,i)
                nslip(5,i)=izero
              else if(nslip(5,i).ne.izero) then
                nslip(3,i)=nslip(5,i)
                nslip(4,i)=nslip(5,i)
                nslip(5,i)=izero
              end if
            end if
            if(idout.gt.izero) write(kw,2000,err=60) (nslip(j,i),
       &     j=1,ndof+2)
            if(idsk.eq.izero) write(kp,3000,err=60) (nslip(j,i),
       &     j=1,ndof+2)
          end do
        end if
        if(idsk.eq.ione.and.numslp.ne.izero) write(kp) nslip
  c
  c...  determine number of slippery nodes
  c
        do n=1,numnp
          do j=1,numslp
            if(n.eq.nslip(2,j)) then
              numsn=numsn+ione
              go to 40
            end if
          end do
   40     continue
        end do
        if(idsk.eq.izero) write(kp,"(i7)",err=60) numsn
        if(idsk.eq.ione) write(kp,err=60) numsn
        close(kr)
        if(idout.gt.ione) close(kw)
        close(kp)
  c
  c...  normal return
  