diff options
Diffstat (limited to 'qemu/roms/openbios/fs/ext2/ext2_opendir.c')
-rw-r--r-- | qemu/roms/openbios/fs/ext2/ext2_opendir.c | 49 |
1 files changed, 0 insertions, 49 deletions
diff --git a/qemu/roms/openbios/fs/ext2/ext2_opendir.c b/qemu/roms/openbios/fs/ext2/ext2_opendir.c deleted file mode 100644 index 3363e0b3a..000000000 --- a/qemu/roms/openbios/fs/ext2/ext2_opendir.c +++ /dev/null @@ -1,49 +0,0 @@ -/* - * - * (c) 2008-2009 Laurent Vivier <Laurent@lvivier.info> - * - * This file has been copied from EMILE, http://emile.sf.net - * - */ - -#include "libext2.h" -#include "ext2.h" -#include "ext2_utils.h" - -ext2_DIR* ext2_opendir(ext2_VOLUME *volume, const char *name) -{ - ext2_DIR* dir; - int ino; - struct ext2_inode *inode; - int ret; - - ino = ext2_seek_name(volume, name); - if (ino == 0) - return NULL; - - inode = (struct ext2_inode*)malloc(sizeof(struct ext2_inode)); - if (inode == NULL) - return NULL; - - ret = ext2_get_inode(volume, ino, inode); - if (ret == -1) { - free(inode); - return NULL; - } - - if (!S_ISDIR(inode->i_mode)) { - free(inode); - return NULL; - } - - dir = (ext2_DIR*)malloc(sizeof(ext2_DIR)); - if (dir == NULL) { - free(inode); - return NULL; - } - dir->volume = (ext2_VOLUME*)volume; - dir->inode = inode; - dir->index = 0; - - return dir; -} |