spewG.c revision 167974
1264840Sdteske
2264840Sdteske/* spew out a thoroughly gigantic file designed so that bzip2
3264840Sdteske   can compress it reasonably rapidly.  This is to help test
4264840Sdteske   support for large files (> 2GB) in a reasonable amount of time.
5264840Sdteske   I suggest you use the undocumented --exponential option to
6264840Sdteske   bzip2 when compressing the resulting file; this saves a bit of
7264840Sdteske   time.  Note: *don't* bother with --exponential when compressing
8264840Sdteske   Real Files; it'll just waste a lot of CPU time :-)
9264840Sdteske   (but is otherwise harmless).
10264840Sdteske*/
11264840Sdteske
12264840Sdteske/* ------------------------------------------------------------------
13264840Sdteske   This file is part of bzip2/libbzip2, a program and library for
14264840Sdteske   lossless, block-sorting data compression.
15264840Sdteske
16264840Sdteske   bzip2/libbzip2 version 1.0.4 of 20 December 2006
17264840Sdteske   Copyright (C) 1996-2006 Julian Seward <jseward@bzip.org>
18264840Sdteske
19264840Sdteske   Please read the WARNING, DISCLAIMER and PATENTS sections in the
20264840Sdteske   README file.
21264840Sdteske
22264840Sdteske   This program is released under the terms of the license contained
23264840Sdteske   in the file LICENSE.
24264840Sdteske	 ------------------------------------------------------------------ */
25264840Sdteske
26264840Sdteske
27264840Sdteske#define _FILE_OFFSET_BITS 64
28264840Sdteske
29264840Sdteske#include <stdio.h>
30264840Sdteske#include <stdlib.h>
31264840Sdteske
32264840Sdteske/* The number of megabytes of junk to spew out (roughly) */
33264840Sdteske#define MEGABYTES 5000
34264840Sdteske
35264840Sdteske#define N_BUF 1000000
36264840Sdteskechar buf[N_BUF];
37264840Sdteske
38264840Sdteskeint main ( int argc, char** argv )
39264840Sdteske{
40264840Sdteske   int ii, kk, p;
41264840Sdteske   srandom(1);
42264840Sdteske   setbuffer ( stdout, buf, N_BUF );
43264840Sdteske   for (kk = 0; kk < MEGABYTES * 515; kk+=3) {
44264840Sdteske      p = 25+random()%50;
45264840Sdteske      for (ii = 0; ii < p; ii++)
46264840Sdteske         printf ( "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" );
47264840Sdteske      for (ii = 0; ii < p-1; ii++)
48264840Sdteske         printf ( "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb" );
49264840Sdteske      for (ii = 0; ii < p+1; ii++)
50264840Sdteske         printf ( "ccccccccccccccccccccccccccccccccccccc" );
51264840Sdteske   }
52264840Sdteske   fflush(stdout);
53264840Sdteske   return 0;
54264840Sdteske}
55264840Sdteske