diff options
author | kientzle <kientzle@FreeBSD.org> | 2009-03-03 17:02:51 +0000 |
---|---|---|
committer | kientzle <kientzle@FreeBSD.org> | 2009-03-03 17:02:51 +0000 |
commit | 8fc5e74eab7c5235eef741a5e99412c1c314b9c6 (patch) | |
tree | 1dee8b4b9c023077ab174a6dc9ffbb460e86b36b /lib/libarchive/test/test_tar_large.c | |
parent | 534d3efa16fa0651c5b97d3d506ddce25334a6d9 (diff) | |
download | FreeBSD-src-8fc5e74eab7c5235eef741a5e99412c1c314b9c6.zip FreeBSD-src-8fc5e74eab7c5235eef741a5e99412c1c314b9c6.tar.gz |
Merge r294:337,r348:350 from libarchive.googlecode.com: A lot
of work to make libarchive work on Windows.
Diffstat (limited to 'lib/libarchive/test/test_tar_large.c')
-rw-r--r-- | lib/libarchive/test/test_tar_large.c | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/lib/libarchive/test/test_tar_large.c b/lib/libarchive/test/test_tar_large.c index 542603d..f56dc6c 100644 --- a/lib/libarchive/test/test_tar_large.c +++ b/lib/libarchive/test/test_tar_large.c @@ -100,7 +100,7 @@ memory_write(struct archive *a, void *_private, const void *buff, size_t size) if ((const char *)filedata <= (const char *)buff && (const char *)buff < (const char *)filedata + filedatasize) { /* We don't need to store a block of file data. */ - private->last->filebytes += size; + private->last->filebytes += (off_t)size; } else { /* Yes, we're assuming the very first write is metadata. */ /* It's header or metadata, copy and save it. */ @@ -117,7 +117,7 @@ memory_write(struct archive *a, void *_private, const void *buff, size_t size) } block->next = NULL; } - return (size); + return ((long)size); } static ssize_t @@ -141,7 +141,7 @@ memory_read(struct archive *a, void *_private, const void **buff) * passing blocks from the template data. */ if (private->filebytes > (off_t)filedatasize) - size = filedatasize; + size = (ssize_t)filedatasize; else size = (ssize_t)private->filebytes; private->filebytes -= size; @@ -152,7 +152,7 @@ memory_read(struct archive *a, void *_private, const void **buff) */ block = private->first; private->first = block->next; - size = block->size; + size = (ssize_t)block->size; if (block->buff != NULL) { private->buff = block->buff; *buff = block->buff; @@ -220,7 +220,7 @@ DEFINE_TEST(test_tar_large) struct archive *a; off_t filesize, writesize; - filedatasize = 1 * MB; + filedatasize = (size_t)(1 * MB); filedata = malloc(filedatasize); memset(filedata, 0xAA, filedatasize); memset(&memdata, 0, sizeof(memdata)); @@ -236,7 +236,7 @@ DEFINE_TEST(test_tar_large) /* * Write a series of large files to it. */ - for (i = 0; tests[i] > 0; i++) { + for (i = 0; tests[i] != 0; i++) { assert((ae = archive_entry_new()) != NULL); sprintf(namebuff, "file_%d", i); archive_entry_copy_pathname(ae, namebuff); @@ -244,6 +244,7 @@ DEFINE_TEST(test_tar_large) filesize = tests[i]; if (filesize < 0) { + archive_entry_free(ae); skipping("32-bit off_t doesn't permit testing of very large files."); return; } @@ -256,7 +257,7 @@ DEFINE_TEST(test_tar_large) * Write the actual data to the archive. */ while (filesize > 0) { - writesize = filedatasize; + writesize = (off_t)filedatasize; if (writesize > filesize) writesize = filesize; assertA(writesize == archive_write_data(a, filedata, writesize)); |