summaryrefslogtreecommitdiffstats
path: root/lib/libarchive/test/test_read_data_large.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/libarchive/test/test_read_data_large.c')
-rw-r--r--lib/libarchive/test/test_read_data_large.c22
1 files changed, 15 insertions, 7 deletions
diff --git a/lib/libarchive/test/test_read_data_large.c b/lib/libarchive/test/test_read_data_large.c
index 76b9e12..ecacf65 100644
--- a/lib/libarchive/test/test_read_data_large.c
+++ b/lib/libarchive/test/test_read_data_large.c
@@ -33,6 +33,11 @@ __FBSDID("$FreeBSD$");
* had a bug relating to this, fixed in Nov 2006).
*/
+#if defined(_WIN32) && !defined(__CYGWIN__)
+#define open _open
+#define close _close
+#endif
+
char buff1[11000000];
char buff2[10000000];
char buff3[10000000];
@@ -43,6 +48,7 @@ DEFINE_TEST(test_read_data_large)
struct archive *a;
char tmpfilename[] = "largefile";
int tmpfilefd;
+ FILE *f;
unsigned int i;
size_t used;
@@ -96,7 +102,11 @@ DEFINE_TEST(test_read_data_large)
assertA(0 == archive_read_support_compression_all(a));
assertA(0 == archive_read_open_memory(a, buff1, sizeof(buff1)));
assertA(0 == archive_read_next_header(a, &ae));
- tmpfilefd = open(tmpfilename, O_WRONLY | O_CREAT, 0777);
+#if defined(__BORLANDC__)
+ tmpfilefd = open(tmpfilename, O_WRONLY | O_CREAT | O_BINARY);
+#else
+ tmpfilefd = open(tmpfilename, O_WRONLY | O_CREAT | O_BINARY, 0777);
+#endif
assert(tmpfilefd != 0);
assertEqualIntA(a, 0, archive_read_data_into_fd(a, tmpfilefd));
assert(0 == archive_read_close(a));
@@ -107,11 +117,9 @@ DEFINE_TEST(test_read_data_large)
#endif
close(tmpfilefd);
- tmpfilefd = open(tmpfilename, O_RDONLY);
- assert(tmpfilefd != 0);
- assertEqualIntA(NULL, sizeof(buff3), read(tmpfilefd, buff3, sizeof(buff3)));
- close(tmpfilefd);
+ f = fopen(tmpfilename, "rb");
+ assert(f != NULL);
+ assertEqualInt(sizeof(buff3), fread(buff3, 1, sizeof(buff3), f));
+ fclose(f);
assert(0 == memcmp(buff2, buff3, sizeof(buff3)));
-
- unlink(tmpfilename);
}
OpenPOWER on IntegriCloud