[ECOS] opendir with empty directory name?
Alex Garcia
thekyz@gmail.com
Tue Mar 18 16:37:00 GMT 2008
Hi,
The fatfs implementation of opendir uses init_dirsearch() to check the
actual dir variable passed through the aforementioned.
Here's the function:
static void
init_dirsearch(fatfs_dirsearch_t *ds,
fatfs_disk_t *disk,
fatfs_node_t *dir,
const char *name)
{
ds->disk = disk;
if (NULL == dir)
ds->dir = disk->root;
else
ds->dir = dir;
ds->path = name;
ds->node = ds->dir;
ds->namelen = 0;
ds->last = false;
}
In my understanding of it the function would consider both "" & "." as
referring to the current directory since "." always refers to it this
way, so I would assume ... feature ^^.
More on this just to confirm you that the function I previously
mentioned seem to be the one actually called by the opendir()
implementation.
Take a look at "io/fileio/current/src/dir.cxx" for the actual opendir
function declaration.
The call is handled on line 127 here:
LOCK_FS( mte );
ret = mte->fs->opendir( mte, dir, name, file );
UNLOCK_FS( mte );
Someone may prove me wrong, anyway, my 2 cents.
Alex Garcia
PS: sorry for the double post, forgot to reply-to-all ...
Hong,Zhichao wrote:
> Hi, all,
>
> I am wondering what is the behavior of opendir("") in eCos fileio
> implementation? I am reading some code written by others. And the
> comment says open the current directory then code is written as
> opendir("").
> And the code seems to work as documented. But should not this actually
> be opendir("."). I search the POSIX and various compiler
> implementation. It does not seem any of them support this kind of empty
> directory. Is this an eCos bug or a feature?
>
> Zhichao Hong,CSDP
>
>
>
--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss
More information about the Ecos-discuss
mailing list