2009-11-11 Robert Millan <rmh.grub@aybabtu.com>

Large file support for grub-mkisofs.

        * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
        * util/mkisofs/mkisofs.c (next_extent, last_extent)
        (session_start): Upgrade type to `uint64_t'.  Update all users.
        * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
        (struct directory_entry): Upgrade type of `starting_block' and
        `size' to `uint64_t'.  Update all users.
        (struct deferred): Remove unused structure.
        (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
        Update all users.
        * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
        file is larger than `UINT32_MAX'.
        * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
        `size' to `uint64_t'.  Update all users.  Fix handling of fwrite()
        return value.
        (struct deferred_write): Upgrade type of `extent' and `size' to
        `uint64_t'.  Update all users.
        (last_extent_written): Upgrade type to `uint64_t'.  Update all
        users.
        (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
        Update all users.  Upgrade type of `remain' to `int64_t' and
        `use' to `size_t'.  Use error() to handle fread() errors.
        (write_files): Rely on write_one_file() rather than calling
        xfwrite() directly.
This commit is contained in:
Robert Millan 2009-11-11 00:23:29 +00:00
parent 6a9cead5cf
commit 2c55dbc0d5
6 changed files with 76 additions and 48 deletions

View file

@ -37,7 +37,9 @@ grub_mkisofs_SOURCES = util/mkisofs/eltorito.c \
util/mkisofs/write.c \
\
gnulib/fnmatch.c gnulib/getopt1.c gnulib/getopt.c
grub_mkisofs_CFLAGS = -I$(srcdir)/util/mkisofs/include -I$(srcdir)/gnulib -Wno-all -Werror
grub_mkisofs_CFLAGS = -D_FILE_OFFSET_BITS=64 \
-I$(srcdir)/util/mkisofs/include -I$(srcdir)/gnulib \
-Wno-all -Werror
# For grub-fstest.
util/grub-fstest.c_DEPENDENCIES = grub_fstest_init.h