[net.sources] Aztec C source - show.c

dcn@ihuxl.UUCP (Dave Newkirk) (11/14/83)

/* show - display non-printing chars */

#include "stdio.h"

main(argc, argv)
int argc ;
char *argv[] ;
{
	FILE *input ;


	argc-- ; argv++ ;

	if( argc == 0 )
		show( stdin ) ;

	else
		for( ; argc>0 ; argc--,argv++)
			if( (input=fopen(*argv,"r")) == NULL ) {
				fprintf(stderr, "show: can't open %s\n", *argv) ;
				exit(1) ;
			}
			else {
				show(input) ;
				fclose( input ) ;
			}

	exit(0) ;

} /* end main */

/* show - print invisible chars */

show( in )
FILE *in ;
{
	int c ;


	while( (c=agetc(in)) != EOF )
		if( c == NL ) {
			aputc( '$', stdout ) ;
			aputc( NL, stdout ) ;
		}
		else if( c == TAB )
			aputc( '>', stdout ) ;
		else if( c < BLANK ) {
			aputc( '~', stdout ) ;
			aputc( c+'@', stdout ) ;
		}
		else if( c == 0x7f ) {
			aputc( '~', stdout ) ;
			aputc( '~', stdout ) ;
		}
		else
			aputc( c, stdout ) ;

} /* end show */