anchor.diff:            allocate(connect(offset(NC)), stat=E_IO)
             E_IO = search(from=pos,inside='Cells', to_find='DataArray', with_attribute='Name', of_value='Connectivity', &
                           buffer=s_buffer, content=data)
  -          call get_int(buffer=s_buffer, attrib='offset', val=offs, E_IO=E_IO)
             call get_char(buffer=s_buffer, attrib='format', val=fmt, E_IO=E_IO)
  -          if (trim(adjustlt(Upper_Case(fmt)))/='ASCII') then
  +          call get_char(buffer=s_buffer, attrib='type', val=type, E_IO=E_IO)
  +          if (trim(adjustlt(Upper_Case(fmt)))/='ASCII' .or. &
  +              trim(adjustlt(Upper_Case(type)))/='INT32') then
               E_IO = -1_I4P
             else
               read(data, fmt=*, iostat=E_IO) connect 
  
positive.code:             call get_char(buffer=s_buffer, attrib='WholeExtent', val=aux, E_IO=E_IO)
              if(E_IO == 0) then
                read(aux,*) rn
                if(present(nx1)) nx1 = rn(1)
                if(present(nx2)) nx2 = rn(2)
                if(present(ny1)) ny1 = rn(3)
                if(present(ny2)) ny2 = rn(4)
                if(present(nz1)) nz1 = rn(5)
                if(present(nz2)) nz2 = rn(6)
              endif
          end select
  
  
negative.code:                         buffer=s_buffer)
            call get_int(buffer=s_buffer, attrib='offset', val=offs, E_IO=E_IO)
            call get_char(buffer=s_buffer, attrib='format', val=fmt, E_IO=E_IO)
            call get_char(buffer=s_buffer, attrib='type', val=type, E_IO=E_IO)
            if (trim(adjustlt(Upper_Case(fmt)))/='APPENDED' .or. &
                trim(adjustlt(Upper_Case(type)))/='INT32') then
              E_IO = -1_I4P
            else
              read(unit=vtk(rf)%u, iostat=E_IO, pos = vtk(rf)%ioffset+offs) N_Byte, connect 
  