usage() {
puts(
"Usage:\n"
- "tbtreetest -b [-r -c COUNT] \n"
+ "tbtreetest -b [-r -c COUNT] | -s [ -c COUNT ]\n"
);
exit(1);
}
#define NO_MODE 0
#define MODE_BTREE 1
+#define MODE_SFX 2
+static char *symbols="qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM1234567890";
+static int symbolslen=0;
int
main(int argn, char *argv[]) {
int isrnd=0, count=10,i;
opentlog(TL_OPEN_STDERR,TL_DEBUG, NULL);
+ symbolslen=strlen(symbols);
+
- while((i=getopt(argn,argv,"brc:")) != EOF) {
+ while((i=getopt(argn,argv,"sbrc:")) != EOF) {
switch(i) {
case 'r':
isrnd=1;
if ( mode ) usage();
mode = MODE_BTREE;
break;
+ case 's':
+ if ( mode ) usage();
+ mode = MODE_SFX;
+ break;
case 'c':
count=atoi(optarg);
break;
}
if ( mode==MODE_BTREE ) {
- int j, cnt,c;
+ int cnt;
for(i=0;i<count;i++) {
printf("I\t%d\t", (int)( (isrnd) ? random()%count : i ));
cnt=1+random()%512;
- for(j=0;j<cnt;j++) {
- do { c=random()%128; } while ( !isalnum(c) );
- fputc(c, stdout);
- }
+ while(cnt-->0)
+ fputc( symbols[ random()%symbolslen ], stdout);
+ fputc('\n', stdout);
+ }
+ } else if ( mode==MODE_SFX ) {
+ int cnt;
+ for(i=0;i<count;i++) {
+ cnt=1+random()%10;
+ while(cnt-->0)
+ fputc( tolower(symbols[ random()%symbolslen ]), stdout);
fputc('\n', stdout);
}
} else {