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