* Add simpler modes to zzcat to better analyse what's going on.

This commit is contained in:
Sam Hocevar 2008-07-18 09:27:56 +00:00 committed by sam
parent 0a902ca687
commit 7dfb40b935
2 changed files with 36 additions and 4 deletions

View File

@ -20,7 +20,7 @@ checkutils()
else
check "$ZZOPTS" "< $file" "zzuf"
fi
for n in 1 2 3; do
for n in 0 10 11 12 20 21 22; do
check "$ZZOPTS" "$ZZCAT $n $file" "zzcat $n"
done
if [ "$STATIC_CAT" = "" ]; then

View File

@ -75,7 +75,39 @@ int main(int argc, char *argv[])
/* Read shit here and there, using different methods */
switch(atoi(argv[1]))
{
case 1: /* socket seeks and reads */
case 0: /* only read() calls */
fd = open(name, O_RDONLY);
if(fd < 0)
return EXIT_FAILURE;
for(i = 0; i < len; i++)
read(fd, data + i, 1);
close(fd);
break;
case 10: /* only fread() calls */
stream = fopen(name, "r");
if(!stream)
return EXIT_FAILURE;
for(i = 0; i < len; i++)
fread(data + i, 1, 1, stream);
fclose(stream);
break;
case 11: /* only getc() calls */
stream = fopen(name, "r");
if(!stream)
return EXIT_FAILURE;
for(i = 0; i < len; i++)
data[i] = getc(stream);
fclose(stream);
break;
case 12: /* only fgetc() calls */
stream = fopen(name, "r");
if(!stream)
return EXIT_FAILURE;
for(i = 0; i < len; i++)
data[i] = fgetc(stream);
fclose(stream);
break;
case 20: /* socket seeks and reads */
fd = open(name, O_RDONLY);
if(fd < 0)
return EXIT_FAILURE;
@ -92,7 +124,7 @@ int main(int argc, char *argv[])
}
close(fd);
break;
case 2: /* std streams seeks and reads */
case 21: /* std streams seeks and reads */
stream = fopen(name, "r");
if(!stream)
return EXIT_FAILURE;
@ -113,7 +145,7 @@ int main(int argc, char *argv[])
}
fclose(stream);
break;
case 3: /* mmap() */
case 22: /* mmap() */
fd = open(name, O_RDONLY);
if(fd < 0)
return EXIT_FAILURE;