/* * A test support function which performs a crude version of * "cat" so you can look at specific parts of a file. * * $Id$ */ #include #include #include #include #include #include #include #include #include /* * test_cat routine */ unsigned char test_cat_buffer[ 1024 ]; void test_cat( char *file, int offset_arg, int length ) { int fd; int status; int is_printable = 0; int my_length; int i; unsigned char c; int count = 0; off_t offset = (off_t)offset_arg; my_length = (length) ? length : sizeof( test_cat_buffer ); assert( my_length <= sizeof( test_cat_buffer ) ); fd = open( file, O_RDONLY ); if ( fd == -1 ) { printf( "test_cat: open( %s ) failed : %s\n", file, strerror( errno ) ); exit( 0 ); } for ( ;; ) { status = lseek( fd, offset, SEEK_SET ); assert( status != -1 ); status = read( fd, test_cat_buffer, sizeof(test_cat_buffer) ); if ( status <= 0 ) { if (!is_printable) printf( "(%d)", count ); puts( "" ); break; } for ( i=0 ; i