At 08:14 AM 12/18/2002, Philip Martin wrote:
>"William A. Rowe, Jr." <[EMAIL PROTECTED]> writes:
>
>> What I would like to know (if you can track it...) 
>> 
>> Is it possible to dump the finfo structure within gdb at the point this
>> request fails?  I'd pay especially close attention to the .valid bits, since
>> those are the identifiers that will help us determine if stat() was also
>> called later.
>
>This is for dir.c version 1.71 with the patch reverted.  The
>Subversion code is svn_io_get_dirents in subversion/libsvn_subr/io.c,
>it passes APR_FINFO_TYPE | APR_FINFO_NAME to apr_dir_read.  The first
>two calls to apr_dir_read return "." and ".." and the Subversion code
>skips them, the following gdb information is for the third call
>
>(gdb) s
>apr_dir_read (finfo=0xbffff660, wanted=33587200, thedir=0x809a878) at dir.c:174
>174         apr_status_t ret = 0;
>(gdb) n
>179         ret = readdir_r(thedir->dirstruct, thedir->entry, &retent);
>(gdb) 
>184         if(!ret && thedir->entry != retent)
>(gdb) p ret
>$1 = 0
>(gdb) p thedir->entry[0]
>$2 = {d_ino = 186434, d_off = 13512064, d_reclen = 16, d_type = 0 '\0', 
>  d_name = "..", '\0' <repeats 253 times>}

Philip... thanks.

Now for the oddball question, looking at dirent.h or it's associate sys/ 
includes, what symbol DT_xxx (DT_REG, etc) do you find for value 0?

Also, what values do you have for DIRENT_TYPE, DIRENT_INODE from
apr/include/arch/unix/apr_private.h?

Thanks again,

Bill

Reply via email to