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