	integer function get_dir_info(line,blksa,blksu,credate,revdate)
	character*(*) line
	integer blksa, blksu
	character*17 credate, revdate
	logical fix_size, fix_cre, fix_rev
	logical*1 ltype(256)
	include 'dccom.inc'
	integer blank, number
	parameter (blank = 1, number = 2)
*
*		initialize flags
*
	fix_size = .true.
	fix_cre = .true.
	fix_rev = .true.
*
*		build ltype
*
	call lib$movtc(line,char(0),table2,%descr(ltype))
	llen = 256
	do while (ltype(llen).eq.0)
	    llen = llen - 1
	enddo
*
*	   	skip to end of file name
*
	i = 1
	dowhile(ltype(i).ne.blank)
	    i = i + 1
	    if (i.gt.llen) goto 900
	enddo
*
*		skip to size
*
	ibl = i
	do while(ltype(i).ne.number)
	    i = i+1
	    if (i.gt.llen) goto 900
	enddo
*
*		process used/alloc
*
	i1 = i
	do while (ltype(i).eq.number)
	    i = i + 1
	enddo
	read(line(i1:i-1), fmt='(i)' ) blksu
	fix_size = .false.
	if (line(i:i).eq.'/'.and.ltype(i+1).eq.number) then
	    i = i+1
	    i1 = i
	    do while (ltype(i).eq.number)
	        i = i + 1
	    enddo
	    read(line(i1:i-1), fmt='(i)' ) blksa
	endif
*
*		search for dates
*
	do while (ltype(i).ne.number)
	    i = i + 1
	    if (i.gt.llen) goto 900
	enddo
	credate = line(i:)
	fix_cre = .false.
	i = i + 17
	do while (ltype(i).ne.number)
	    i = i + 1
	    if (i.gt.llen) goto 900
	enddo
	revdate = line(i:)
	fix_rev = .false.
900	continue	    
	if (fix_size) then
	    blksa = 0
	    blksu = 0
	    if (check_size) then
		check_size = false
	    	write (6, 1000)
	    endif
	endif
	if (fix_cre) then
	    credate = ' '
	    if (check_cre) then
		check_cre = false
		write (6,1001)
	    endif
	endif
	if (fix_rev) then
	    revdate = ' '
	    if (check_rev) then
		check_rev = false
		write (6,1002)
	    endif
	endif
	get_dir_info = 1
	return
*
*
*
1000	format(' /SIZE selected, but not available.  /NOSIZE assumed.')
1001	format(' /CREATION_DATE selected, but not available.',
     +   '  /NOCREATION_DATE assumed.')
1002	format(' /REVISION_DATE selected, but not available.',
     +   '  /NOREVISION_DATE assumed.')
	end
