| /* | 
 |  * Simple random data generator used to create reproducible test files. | 
 |  * This is inspired from POSIX.1-2001 implementation example for rand(). | 
 |  * Copyright (C) 2007 by Nicolas Pitre, licensed under the GPL version 2. | 
 |  */ | 
 |  | 
 | #include "git-compat-util.h" | 
 |  | 
 | int main(int argc, char *argv[]) | 
 | { | 
 | 	unsigned long count, next = 0; | 
 | 	unsigned char *c; | 
 |  | 
 | 	if (argc < 2 || argc > 3) { | 
 | 		fprintf(stderr, "usage: %s <seed_string> [<size>]\n", argv[0]); | 
 | 		return 1; | 
 | 	} | 
 |  | 
 | 	c = (unsigned char *) argv[1]; | 
 | 	do { | 
 | 		next = next * 11 + *c; | 
 | 	} while (*c++); | 
 |  | 
 | 	count = (argc == 3) ? strtoul(argv[2], NULL, 0) : -1L; | 
 |  | 
 | 	while (count--) { | 
 | 		next = next * 1103515245 + 12345; | 
 | 		if (putchar((next >> 16) & 0xff) == EOF) | 
 | 			return -1; | 
 | 	} | 
 |  | 
 | 	return 0; | 
 | } |