void main( int argc, char **argv ) { int rxflag, ch; int fh; argv = ExpandEnv( &argc, argv ); rxflag = 0; for( ;; ) { ch = GetOpt( &argc, argv, "X", usageMsg ); if( ch == -1 ) { break; } else if( ch == 'X' ) { rxflag = 1; } } argv = ExpandArgv( &argc, argv, rxflag ); argv++; setmode( STDOUT_FILENO, O_BINARY ); if( argc == 1 ) { setmode( STDIN_FILENO, O_BINARY ); DoCAT( STDIN_FILENO ); } else { while( *argv != NULL ) { fh = open( *argv, O_RDONLY | O_BINARY ); if( fh == -1 ) { fprintf( stderr, "cat: cannot open input file \"%s\"\n", *argv ); } else { DoCAT( fh ); close( fh ); } argv++; } } exit( EXIT_SUCCESS ); }
int main( int argc, char *argv[] ) { int i; FILE *f; int rxflag; int buff_stdin; int ch; screenHeight = GetConsoleHeight(); screenWidth = GetConsoleWidth(); workBuff = MemAlloc( BUFF_SIZE ); buff_stdin = 1; rxflag = 0; for( ;; ) { ch = GetOpt( &argc, argv, "#cftXp:n:", usageMsg ); if( ch == -1 ) { break; } switch( ch ) { case 'c': clearScreen = 1; break; case 'f': foldLines = 0; break; case 't': buff_stdin = 0; break; case 'n': screenHeight = atoi( OptArg )+1; break; case 'p': promptString = strdup( OptArg ); break; case '#': startLine = atol( OptArg )-1; break; case 'X': rxflag = 1; break; } } argv = ExpandArgv( &argc, argv, rxflag ); lineCount = screenHeight-1; if( argc == 1 ) { if( buff_stdin ) { f = tmpfile(); if( f == NULL ) { exit( 1 ); } setmode( fileno( f ), O_BINARY ); for( ;; ) { i = fread( workBuff, 1, BUFF_SIZE, stdin ); if( fwrite( workBuff, 1, i, f ) != i ) { exit( 1 ); } if( feof( stdin ) ) { break; } } fflush( f ); doMore( "*stdin*", f ); } else { doMore( "*stdin*", stdin ); } } else { for( i=1;i<argc;i++ ) { f = fopen( argv[i],"rb" ); if( f == NULL ) { printf( "Error opening \"%s\"\n", argv[i] ); } else { if( argc > 2 ) { printf( "\n%s:\n", FNameLower( argv[i] ) ); } doMore( argv[i], f ); } } } return( 0 ); }
void main( int argc, char **argv ) { FILE *fp; int ch; int width = DEF_LINE_LEN; int offset = 0; int regexp = 0; argv = ExpandEnv( &argc, argv ); while( 1 ) { ch = GetOpt( &argc, argv, "Xcjnl:p:", usageMsg ); if( ch == -1 ) { break; } switch( ch ) { case 'c': f_mode |= FMT_CENTRE; break; case 'j': f_mode |= FMT_JUSTIFY; break; case 'n': f_mode |= FMT_NOSPACE; break; case 'l': width = atoi( OptArg ); break; case 'p': offset = atoi( OptArg ); break; case 'X': regexp = 1; break; } } if( width <= 0 ) { Die( "fmt: invalid line length\n" ); } if( offset < 0 ) { Die( "fmt: invalid page offset\n" ); } argv = ExpandArgv( &argc, argv, regexp ); argv++; if( *argv == NULL ) { formatFile( stdin, width, offset ); } else { while( *argv != NULL ) { fp = fopen( *argv, "r" ); if( fp == NULL ) { fprintf( stderr, "fmt: cannot open input file \"%s\"\n", *argv ); } else { if( argc > 2 ) { fprintf( stdout, "%s:\n", *argv ); } formatFile( fp, width, offset ); fclose( fp ); } argv++; } } free( w_buff ); // free the word space exit( EXIT_SUCCESS ); }