summaryrefslogtreecommitdiff
path: root/Utilities/cmbzip2/spewG.c
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2020-02-24 12:06:04 -0500
committerBrad King <brad.king@kitware.com>2020-02-24 12:06:04 -0500
commit3d47b0ae975668e6dbb8bf17319ca27c0b1af49d (patch)
tree7a3bdeb48b14b5f296661d1394aa3b8941420168 /Utilities/cmbzip2/spewG.c
parent2c40844891a9b68c0ec643560e367ebbff018b72 (diff)
parent05c3d1bcdbc59ec1a29935eb8e5b6fdfc87c0dd7 (diff)
downloadcmake-3d47b0ae975668e6dbb8bf17319ca27c0b1af49d.tar.gz
Merge branch 'upstream-bzip2' into update-bzip2
# By bzip2 upstream * upstream-bzip2: bzip2 2007-12-10 (a1d78c55)
Diffstat (limited to 'Utilities/cmbzip2/spewG.c')
-rw-r--r--Utilities/cmbzip2/spewG.c54
1 files changed, 54 insertions, 0 deletions
diff --git a/Utilities/cmbzip2/spewG.c b/Utilities/cmbzip2/spewG.c
new file mode 100644
index 0000000000..5892b92c36
--- /dev/null
+++ b/Utilities/cmbzip2/spewG.c
@@ -0,0 +1,54 @@
+
+/* spew out a thoroughly gigantic file designed so that bzip2
+ can compress it reasonably rapidly. This is to help test
+ support for large files (> 2GB) in a reasonable amount of time.
+ I suggest you use the undocumented --exponential option to
+ bzip2 when compressing the resulting file; this saves a bit of
+ time. Note: *don't* bother with --exponential when compressing
+ Real Files; it'll just waste a lot of CPU time :-)
+ (but is otherwise harmless).
+*/
+
+/* ------------------------------------------------------------------
+ This file is part of bzip2/libbzip2, a program and library for
+ lossless, block-sorting data compression.
+
+ bzip2/libbzip2 version 1.0.5 of 10 December 2007
+ Copyright (C) 1996-2007 Julian Seward <jseward@bzip.org>
+
+ Please read the WARNING, DISCLAIMER and PATENTS sections in the
+ README file.
+
+ This program is released under the terms of the license contained
+ in the file LICENSE.
+ ------------------------------------------------------------------ */
+
+
+#define _FILE_OFFSET_BITS 64
+
+#include <stdio.h>
+#include <stdlib.h>
+
+/* The number of megabytes of junk to spew out (roughly) */
+#define MEGABYTES 5000
+
+#define N_BUF 1000000
+char buf[N_BUF];
+
+int main ( int argc, char** argv )
+{
+ int ii, kk, p;
+ srandom(1);
+ setbuffer ( stdout, buf, N_BUF );
+ for (kk = 0; kk < MEGABYTES * 515; kk+=3) {
+ p = 25+random()%50;
+ for (ii = 0; ii < p; ii++)
+ printf ( "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" );
+ for (ii = 0; ii < p-1; ii++)
+ printf ( "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb" );
+ for (ii = 0; ii < p+1; ii++)
+ printf ( "ccccccccccccccccccccccccccccccccccccc" );
+ }
+ fflush(stdout);
+ return 0;
+}