1df9de0ebSDavid E. O'Brien 2df9de0ebSDavid E. O'Brien /* spew out a thoroughly gigantic file designed so that bzip2 3df9de0ebSDavid E. O'Brien can compress it reasonably rapidly. This is to help test 4df9de0ebSDavid E. O'Brien support for large files (> 2GB) in a reasonable amount of time. 5df9de0ebSDavid E. O'Brien I suggest you use the undocumented --exponential option to 6df9de0ebSDavid E. O'Brien bzip2 when compressing the resulting file; this saves a bit of 7df9de0ebSDavid E. O'Brien time. Note: *don't* bother with --exponential when compressing 8df9de0ebSDavid E. O'Brien Real Files; it'll just waste a lot of CPU time :-) 9df9de0ebSDavid E. O'Brien (but is otherwise harmless). 10df9de0ebSDavid E. O'Brien */ 11df9de0ebSDavid E. O'Brien 121b79bae0SXin LI /* ------------------------------------------------------------------ 131b79bae0SXin LI This file is part of bzip2/libbzip2, a program and library for 141b79bae0SXin LI lossless, block-sorting data compression. 151b79bae0SXin LI 16*51f61fc0SXin LI bzip2/libbzip2 version 1.0.8 of 13 July 2019 17*51f61fc0SXin LI Copyright (C) 1996-2019 Julian Seward <jseward@acm.org> 181b79bae0SXin LI 191b79bae0SXin LI Please read the WARNING, DISCLAIMER and PATENTS sections in the 201b79bae0SXin LI README file. 211b79bae0SXin LI 221b79bae0SXin LI This program is released under the terms of the license contained 231b79bae0SXin LI in the file LICENSE. 241b79bae0SXin LI ------------------------------------------------------------------ */ 251b79bae0SXin LI 261b79bae0SXin LI 27df9de0ebSDavid E. O'Brien #define _FILE_OFFSET_BITS 64 28df9de0ebSDavid E. O'Brien 29df9de0ebSDavid E. O'Brien #include <stdio.h> 30df9de0ebSDavid E. O'Brien #include <stdlib.h> 31df9de0ebSDavid E. O'Brien 32df9de0ebSDavid E. O'Brien /* The number of megabytes of junk to spew out (roughly) */ 33df9de0ebSDavid E. O'Brien #define MEGABYTES 5000 34df9de0ebSDavid E. O'Brien 35df9de0ebSDavid E. O'Brien #define N_BUF 1000000 36df9de0ebSDavid E. O'Brien char buf[N_BUF]; 37df9de0ebSDavid E. O'Brien main(int argc,char ** argv)38df9de0ebSDavid E. O'Brienint main ( int argc, char** argv ) 39df9de0ebSDavid E. O'Brien { 40df9de0ebSDavid E. O'Brien int ii, kk, p; 41df9de0ebSDavid E. O'Brien srandom(1); 42df9de0ebSDavid E. O'Brien setbuffer ( stdout, buf, N_BUF ); 43df9de0ebSDavid E. O'Brien for (kk = 0; kk < MEGABYTES * 515; kk+=3) { 44df9de0ebSDavid E. O'Brien p = 25+random()%50; 45df9de0ebSDavid E. O'Brien for (ii = 0; ii < p; ii++) 46df9de0ebSDavid E. O'Brien printf ( "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" ); 47df9de0ebSDavid E. O'Brien for (ii = 0; ii < p-1; ii++) 48df9de0ebSDavid E. O'Brien printf ( "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb" ); 49df9de0ebSDavid E. O'Brien for (ii = 0; ii < p+1; ii++) 50df9de0ebSDavid E. O'Brien printf ( "ccccccccccccccccccccccccccccccccccccc" ); 51df9de0ebSDavid E. O'Brien } 52df9de0ebSDavid E. O'Brien fflush(stdout); 53df9de0ebSDavid E. O'Brien return 0; 54df9de0ebSDavid E. O'Brien } 55