From b71e6024f9ac1bf2c8068a20c93af6a0be630a11 Mon Sep 17 00:00:00 2001 From: "\"Vladimir N. Oleynik\"" Date: Mon, 19 Sep 2005 13:48:39 +0000 Subject: mke2fs.c can compiled for me, more bb_xstrdup and bb_xasprintf usage, remove 1 exporing, ext2fs_llseek/blkid_llseek->llseek --- e2fsprogs/ext2fs/ext2_io.h | 29 ++++++++++++++---------- e2fsprogs/ext2fs/llseek.c | 55 ---------------------------------------------- 2 files changed, 17 insertions(+), 67 deletions(-) delete mode 100644 e2fsprogs/ext2fs/llseek.c (limited to 'e2fsprogs/ext2fs') diff --git a/e2fsprogs/ext2fs/ext2_io.h b/e2fsprogs/ext2fs/ext2_io.h index e17886c85..190f6c132 100644 --- a/e2fsprogs/ext2fs/ext2_io.h +++ b/e2fsprogs/ext2fs/ext2_io.h @@ -1,6 +1,6 @@ /* * io.h --- the I/O manager abstraction - * + * * Copyright (C) 1993, 1994, 1995, 1996 Theodore Ts'o. * * %Begin-Header% @@ -22,7 +22,12 @@ typedef long ext2_loff_t; #endif /* llseek.c */ -ext2_loff_t ext2fs_llseek (int, ext2_loff_t, int); +/* ext2_loff_t ext2fs_llseek (int, ext2_loff_t, int); */ +#ifdef CONFIG_LFS +# define ext2fs_llseek lseek64 +#else +# define ext2fs_llseek lseek +#endif typedef struct struct_io_manager *io_manager; typedef struct struct_io_channel *io_channel; @@ -40,8 +45,8 @@ struct struct_io_channel { void *data, size_t size, int actual_bytes_read, - errcode_t error); - errcode_t (*write_error)(io_channel channel, + errcode_t error); + errcode_t (*write_error)(io_channel channel, unsigned long block, int count, const void *data, @@ -68,9 +73,9 @@ struct struct_io_manager { errcode_t (*flush)(io_channel channel); errcode_t (*write_byte)(io_channel channel, unsigned long offset, int count, const void *data); - errcode_t (*set_option)(io_channel channel, const char *option, + errcode_t (*set_option)(io_channel channel, const char *option, const char *arg); - int reserved[14]; + int reserved[14]; }; #define IO_FLAG_RW 1 @@ -78,17 +83,17 @@ struct struct_io_manager { /* * Convenience functions.... */ -#define io_channel_close(c) ((c)->manager->close((c))) +#define io_channel_close(c) ((c)->manager->close((c))) #define io_channel_set_blksize(c,s) ((c)->manager->set_blksize((c),s)) #define io_channel_read_blk(c,b,n,d) ((c)->manager->read_blk((c),b,n,d)) #define io_channel_write_blk(c,b,n,d) ((c)->manager->write_blk((c),b,n,d)) -#define io_channel_flush(c) ((c)->manager->flush((c))) +#define io_channel_flush(c) ((c)->manager->flush((c))) #define io_channel_bumpcount(c) ((c)->refcount++) - + /* io_manager.c */ -extern errcode_t io_channel_set_options(io_channel channel, +extern errcode_t io_channel_set_options(io_channel channel, const char *options); -extern errcode_t io_channel_write_byte(io_channel channel, +extern errcode_t io_channel_write_byte(io_channel channel, unsigned long offset, int count, const void *data); @@ -105,4 +110,4 @@ extern void (*test_io_cb_set_blksize) (int blksize, errcode_t err); #endif /* _EXT2FS_EXT2_IO_H */ - + diff --git a/e2fsprogs/ext2fs/llseek.c b/e2fsprogs/ext2fs/llseek.c deleted file mode 100644 index 6bb84bf09..000000000 --- a/e2fsprogs/ext2fs/llseek.c +++ /dev/null @@ -1,55 +0,0 @@ -/* - * llseek.c -- stub calling the llseek system call - * - * Copyright (C) 1994, 1995, 1996, 1997 Theodore Ts'o. - * - * %Begin-Header% - * This file may be redistributed under the terms of the - * GNU Lesser General Public License. - * %End-Header% - */ - -#if HAVE_SYS_TYPES_H -#include -#endif - -#if HAVE_ERRNO_H -#include -#endif -#if HAVE_UNISTD_H -#include -#endif - -#include "ext2fs/ext2_io.h" - -#ifdef CONFIG_LFS -# define my_llseek lseek64 -#else -# define my_llseek lseek -#endif - -ext2_loff_t ext2fs_llseek (int fd, ext2_loff_t offset, int origin) -{ - ext2_loff_t result; - static int do_compat = 0; - - if ((sizeof(off_t) >= sizeof(ext2_loff_t)) || - (offset < ((ext2_loff_t) 1 << ((sizeof(off_t)*8) -1)))) - return lseek(fd, (off_t) offset, origin); - - if (do_compat) { - errno = EINVAL; - return -1; - } - - result = my_llseek (fd, offset, origin); - if (result == -1 && errno == ENOSYS) { - /* - * Just in case this code runs on top of an old kernel - * which does not support the llseek system call - */ - do_compat++; - errno = EINVAL; - } - return result; -} -- cgit v1.2.3