1/* 2 * Simple random data generator used to create reproducible test files. 3 * This is inspired from POSIX.1-2001 implementation example for rand(). 4 * Copyright (C) 2007 by Nicolas Pitre, licensed under the GPL version 2. 5 */ 6 7#include"git-compat-util.h" 8 9intcmd_main(int argc,const char**argv) 10{ 11unsigned long count, next =0; 12unsigned char*c; 13 14if(argc <2|| argc >3) { 15fprintf(stderr,"usage:%s<seed_string> [<size>]\n", argv[0]); 16return1; 17} 18 19 c = (unsigned char*) argv[1]; 20do{ 21 next = next *11+ *c; 22}while(*c++); 23 24 count = (argc ==3) ?strtoul(argv[2], NULL,0) : -1L; 25 26while(count--) { 27 next = next *1103515245+12345; 28if(putchar((next >>16) &0xff) == EOF) 29return-1; 30} 31 32return0; 33}