Files only used by psxfile01, so moved there.

This commit is contained in:
Joel Sherrill
1999-11-23 13:43:34 +00:00
parent 4b9cc0aef1
commit a23cad6aa0
9 changed files with 202 additions and 11 deletions

View File

@@ -1,9 +0,0 @@
##
## $Id$
##
AUTOMAKE_OPTIONS = foreign 1.4
EXTRA_DIST = test_cat.c test_extend.c test_write.c
include $(top_srcdir)/../../../../automake/local.am

View File

@@ -4,7 +4,7 @@
AUTOMAKE_OPTIONS = foreign 1.4
VPATH = @srcdir@:@srcdir@/../filesupp
VPATH = @srcdir@
TEST = psxfile01

View File

@@ -4,7 +4,7 @@
AUTOMAKE_OPTIONS = foreign 1.4
VPATH = @srcdir@:@srcdir@/../filesupp
VPATH = @srcdir@
TEST = psxfile01

View File

@@ -0,0 +1,81 @@
/*
* A test support function which performs a crude version of
* "cat" so you can look at specific parts of a file.
*
* $Id$
*/
#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
#include <errno.h>
#include <string.h>
#include <ctype.h>
#include <assert.h>
/*
* 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<status ; i++ ) {
c = test_cat_buffer[i];
if (isprint(c) || isspace(c)) {
if (!is_printable) {
printf( "(%d)", count );
count = 0;
is_printable = 1;
}
putchar(c);
} else {
is_printable = 0;
count++;
}
}
offset += status;
}
status = close( fd );
assert( !status );
}

View File

@@ -0,0 +1,60 @@
/*
* A test support function which extends the file to the specified
* length. This handles the implied open(), lseek(), write(), and close()
* operations.
*
* The defined behavior is a seek() followed by a write() extends the file
* and zero fills the new length part.
*
* $Id$
*/
#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
#include <errno.h>
#include <string.h>
#include <ctype.h>
#include <assert.h>
/*
* test_extend routine
*/
void test_extend(
char *file,
off_t offset
)
{
int fd;
int status;
char c = 0;
fd = open( file, O_WRONLY );
if ( fd == -1 ) {
printf( "test_extend: open( %s ) failed : %s\n", file, strerror( errno ) );
exit( 0 );
}
status = lseek( fd, offset - 1, SEEK_SET );
assert( status != -1 );
status = write( fd, &c, 1 );
if ( status == -1 ) {
printf( "test_extend: write( %s ) failed : %s\n", file, strerror( errno ) );
exit( 0 );
}
if ( status != 1 ) {
printf( "test_extend: write( %s ) only wrote %d of %d bytes\n",
file, status, 1 );
exit( 0 );
}
status = close( fd );
assert( !status );
}

View File

@@ -0,0 +1,59 @@
/*
* A test support function which performs a write() and
* handles implied open(), lseek(), write(), and close() operations.
*
* $Id$
*/
#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
#include <errno.h>
#include <string.h>
#include <assert.h>
/*
* test_write routine
*/
void test_write(
char *file,
off_t offset,
char *buffer
)
{
int fd;
int status;
int length;
length = strlen( buffer );
fd = open( file, O_WRONLY );
if ( fd == -1 ) {
printf( "test_write: open( %s ) failed : %s\n", file, strerror( errno ) );
exit( 0 );
}
status = lseek( fd, offset, SEEK_SET );
assert( status != -1 );
status = write( fd, buffer, length );
if ( status == -1 ) {
printf( "test_write: write( %s ) failed : %s\n", file, strerror( errno ) );
exit( 0 );
}
if ( status != length ) {
printf( "test_write: write( %s ) only wrote %d of %d bytes\n",
file, status, length );
exit( 0 );
}
status = close( fd );
assert( !status );
}