| --- a/jffsX-utils/compr_lzo.c |
| +++ b/jffsX-utils/compr_lzo.c |
| @@ -24,7 +24,6 @@ |
| #include <stdint.h> |
| #include <stdio.h> |
| #include <string.h> |
| -#include <asm/types.h> |
| #include <linux/jffs2.h> |
| #include <lzo/lzo1x.h> |
| #include "compr.h" |
| --- a/jffsX-utils/compr_zlib.c |
| +++ b/jffsX-utils/compr_zlib.c |
| @@ -39,7 +39,6 @@ |
| #include <zlib.h> |
| #undef crc32 |
| #include <stdio.h> |
| -#include <asm/types.h> |
| #include <linux/jffs2.h> |
| #include "common.h" |
| #include "compr.h" |
| --- a/include/rbtree.h |
| +++ b/include/rbtree.h |
| @@ -94,8 +94,7 @@ static inline struct page * rb_insert_pa |
| #ifndef _LINUX_RBTREE_H |
| #define _LINUX_RBTREE_H |
| |
| -#include <linux/kernel.h> |
| -#include <linux/stddef.h> |
| +#include <stddef.h> |
| |
| struct rb_node |
| { |
| --- a/include/mtd/ubi-media.h |
| +++ b/include/mtd/ubi-media.h |
| @@ -30,7 +30,15 @@ |
| #ifndef __UBI_MEDIA_H__ |
| #define __UBI_MEDIA_H__ |
| |
| +#ifdef __linux__ |
| #include <asm/byteorder.h> |
| +#else |
| +#include <stdint.h> |
| +typedef uint8_t __u8; |
| +typedef uint16_t __be16; |
| +typedef uint32_t __be32; |
| +typedef uint64_t __be64; |
| +#endif |
| |
| /* The version of UBI images supported by this implementation */ |
| #define UBI_VERSION 1 |
| --- a/ubifs-utils/mkfs.ubifs/mkfs.ubifs.h |
| +++ b/ubifs-utils/mkfs.ubifs/mkfs.ubifs.h |
| @@ -32,7 +32,17 @@ |
| #include <endian.h> |
| #include <byteswap.h> |
| #include <linux/types.h> |
| +#ifdef __linux__ |
| #include <linux/fs.h> |
| +# if defined(__x86_64__) && defined(__ILP32__) |
| +# define llseek lseek64 |
| +# endif |
| +#else |
| +# ifndef O_LARGEFILE |
| +# define O_LARGEFILE 0 |
| +# endif |
| +# define llseek lseek |
| +#endif |
| |
| #include <getopt.h> |
| #include <sys/types.h> |
| --- a/ubifs-utils/mkfs.ubifs/mkfs.ubifs.c |
| +++ b/ubifs-utils/mkfs.ubifs/mkfs.ubifs.c |
| @@ -1568,6 +1568,7 @@ static int add_inode(struct stat *st, in |
| |
| if (c->default_compr != UBIFS_COMPR_NONE) |
| use_flags |= UBIFS_COMPR_FL; |
| +#ifndef NO_NATIVE_SUPPORT |
| if (flags & FS_COMPR_FL) |
| use_flags |= UBIFS_COMPR_FL; |
| if (flags & FS_SYNC_FL) |
| @@ -1580,6 +1581,7 @@ static int add_inode(struct stat *st, in |
| use_flags |= UBIFS_DIRSYNC_FL; |
| if (fctx) |
| use_flags |= UBIFS_CRYPT_FL; |
| +#endif |
| memset(ino, 0, UBIFS_INO_NODE_SZ); |
| |
| ino_key_init(&key, inum); |
| @@ -1665,7 +1667,9 @@ static int add_dir_inode(const char *pat |
| fd = dirfd(dir); |
| if (fd == -1) |
| return sys_err_msg("dirfd failed"); |
| +#ifndef NO_NATIVE_SUPPORT |
| if (ioctl(fd, FS_IOC_GETFLAGS, &flags) == -1) |
| +#endif |
| flags = 0; |
| } |
| |
| @@ -1878,6 +1882,7 @@ static int add_file(const char *path_nam |
| dn->ch.node_type = UBIFS_DATA_NODE; |
| key_write(&key, &dn->key); |
| out_len = NODE_BUFFER_SIZE - UBIFS_DATA_NODE_SZ; |
| +#ifndef NO_NATIVE_SUPPORT |
| if (c->default_compr == UBIFS_COMPR_NONE && |
| !c->encrypted && (flags & FS_COMPR_FL)) |
| #ifdef WITH_LZO |
| @@ -1888,6 +1893,7 @@ static int add_file(const char *path_nam |
| use_compr = UBIFS_COMPR_NONE; |
| #endif |
| else |
| +#endif |
| use_compr = c->default_compr; |
| compr_type = compress_data(buf, bytes_read, &dn->data, |
| &out_len, use_compr); |
| @@ -1947,7 +1953,9 @@ static int add_non_dir(const char *path_ |
| if (fd == -1) |
| return sys_err_msg("failed to open file '%s'", |
| path_name); |
| +#ifndef NO_NATIVE_SUPPORT |
| if (ioctl(fd, FS_IOC_GETFLAGS, &flags) == -1) |
| +#endif |
| flags = 0; |
| if (close(fd) == -1) |
| return sys_err_msg("failed to close file '%s'", |
| --- a/ubifs-utils/mkfs.ubifs/devtable.c |
| +++ b/ubifs-utils/mkfs.ubifs/devtable.c |
| @@ -135,6 +135,7 @@ static int interpret_table_entry(const c |
| unsigned int mode = 0755, uid = 0, gid = 0, major = 0, minor = 0; |
| unsigned int start = 0, increment = 0, count = 0; |
| |
| + buf[1023] = 0; |
| if (sscanf(line, "%1023s %c %o %u %u %u %u %u %u %u", |
| buf, &type, &mode, &uid, &gid, &major, &minor, |
| &start, &increment, &count) < 0) |
| @@ -145,10 +146,10 @@ static int interpret_table_entry(const c |
| buf, type, mode, uid, gid, major, minor, start, |
| increment, count); |
| |
| - len = strnlen(buf, 1024); |
| + len = strlen(buf); |
| if (len == 0) |
| return err_msg("empty path"); |
| - if (len == 1024) |
| + if (len == 1023) |
| return err_msg("too long path"); |
| |
| if (buf[0] != '/') |
| --- a/include/common.h |
| +++ b/include/common.h |
| @@ -26,7 +26,6 @@ |
| #include <string.h> |
| #include <fcntl.h> |
| #include <errno.h> |
| -#include <features.h> |
| #include <inttypes.h> |
| #include <unistd.h> |
| #include <sys/sysmacros.h> |
| --- a/include/mtd/ubifs-media.h |
| +++ b/include/mtd/ubifs-media.h |
| @@ -33,7 +33,15 @@ |
| #ifndef __UBIFS_MEDIA_H__ |
| #define __UBIFS_MEDIA_H__ |
| |
| +#ifdef __linux__ |
| #include <asm/byteorder.h> |
| +#else |
| +#include <stdint.h> |
| +typedef uint8_t __u8; |
| +typedef uint16_t __be16; |
| +typedef uint32_t __be32; |
| +typedef uint64_t __be64; |
| +#endif |
| |
| /* UBIFS node magic number (must not have the padding byte first or last) */ |
| #define UBIFS_NODE_MAGIC 0x06101831 |