home *** CD-ROM | disk | FTP | other *** search
/ C/C++ Interactive Guide / c-cplusplus-interactive-guide.iso / c_ref / csource4 / 284_01 / newdsk.c < prev    next >
Encoding:
C/C++ Source or Header  |  1989-03-13  |  896 b   |  42 lines

  1. #include <stdio.h>
  2. #include <fcntl.h>
  3.  
  4. main ( argc, argv )
  5.     int argc;
  6.     char * argv [];
  7. {
  8.     register int i;
  9.     int fd;
  10.     int rc;
  11.     static char buf [ 2048 ];
  12.  
  13.     if ( argc < 2 ) {
  14.     fprintf( stderr, "usage: newdsk file ...\n" );
  15.     return( 2 );
  16.     }
  17.  
  18.     for ( i = 0; i < 2048; i++ ) buf[ i ] = 0xE5;
  19.  
  20.     rc = 0;
  21.     for ( i = 1; i < argc; i++ ) {
  22.     fd = open( argv[ i ], O_WRONLY | O_TRUNC | O_CREAT, 0666 );
  23.     if ( fd < 0 ) {
  24.         fprintf( stderr, "cannot open %s\n", argv[ i ] );
  25.         rc = 1;
  26.         continue;
  27.     }
  28.     if ( write( fd, buf, 2048 ) < 2048 ) {
  29.         fprintf( stderr, "cannot write to %s\n", argv[ i ] );
  30.         close( fd );
  31.         rc = 1;
  32.         continue;
  33.     }
  34.     if ( close( fd ) < 0 ) {
  35.         fprintf( stderr, "cannot close %s\n", argv[ i ] );
  36.         rc = 1;
  37.         continue;
  38.     }
  39.     }
  40.     return( rc );
  41. }
  42.