diff options
author | Matt Fleming <matt.fleming@intel.com> | 2013-03-20 17:14:21 +0000 |
---|---|---|
committer | Matt Fleming <matt.fleming@intel.com> | 2013-03-22 13:57:44 +0000 |
commit | 37d43cf9dd5dd2d2cef1e86aa651097473fd0b48 (patch) | |
tree | 07a7df546f178c4e1576f4cbcc0bb4db3a8e18b4 /core/fs/fs.c | |
parent | bf20364b582c383b4927f898de213b1cc0981a80 (diff) | |
parent | a107cb3b6fa219cf5f65bef366c9b00b108e9a3a (diff) | |
download | syslinux-37d43cf9dd5dd2d2cef1e86aa651097473fd0b48.tar.gz |
Merge tag 'syslinux-5.10-pre2' into for-hpa/elflink/firmware
syslinux-5.10-pre2
Conflicts:
NEWS
com32/include/netinet/in.h
com32/include/sys/cpu.h
com32/lib/Makefile
core/Makefile
core/fs/diskio.c
core/fs/pxe/pxe.h
core/init.c
core/mem/free.c
core/mem/malloc.c
mk/devel.mk
version
Diffstat (limited to 'core/fs/fs.c')
-rw-r--r-- | core/fs/fs.c | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/core/fs/fs.c b/core/fs/fs.c index adcee916..2c1bdbee 100644 --- a/core/fs/fs.c +++ b/core/fs/fs.c @@ -3,6 +3,7 @@ #include <stdbool.h> #include <string.h> #include <unistd.h> +#include <fcntl.h> #include <dprintf.h> #include "core.h" #include "dev.h" @@ -138,7 +139,7 @@ size_t pmapi_read_file(uint16_t *handle, void *buf, size_t sectors) return bytes_read; } -int searchdir(const char *name) +int searchdir(const char *name, int flags) { static char root_name[] = "/"; struct file *file; @@ -155,7 +156,7 @@ int searchdir(const char *name) /* if we have ->searchdir method, call it */ if (file->fs->fs_ops->searchdir) { - file->fs->fs_ops->searchdir(name, file); + file->fs->fs_ops->searchdir(name, flags, file); if (file->inode) return file_to_handle(file); @@ -337,7 +338,7 @@ err_no_close: return -1; } -__export int open_file(const char *name, struct com32_filedata *filedata) +__export int open_file(const char *name, int flags, struct com32_filedata *filedata) { int rv; struct file *file; @@ -346,7 +347,7 @@ __export int open_file(const char *name, struct com32_filedata *filedata) dprintf("open_file %s\n", name); mangle_name(mangled_name, name); - rv = searchdir(mangled_name); + rv = searchdir(mangled_name, flags); if (rv < 0) return rv; @@ -394,9 +395,6 @@ void fs_init(const struct fs_ops **ops, void *priv) int blk_shift = -1; struct device *dev = NULL; - /* Initialize malloc() */ - mem_init(); - /* Default name for the root directory */ fs.cwd_name[0] = '/'; |