home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD1.mdf / magazine / drdobbs / c_spec / sources / pause.c < prev    next >
C/C++ Source or Header  |  1986-02-20  |  791b  |  49 lines

  1. #include <stdio.h>
  2.  
  3. #define E(x)    printf("%s\n", x)
  4.  
  5. main( argc, argv )
  6. char    **argv;
  7. {
  8.     register int    bell = 0;
  9.  
  10.     reargv(&argc, &argv);
  11.  
  12.     if( argc > 1  &&  argv[1][0] == '-' ) 
  13.     {
  14.         if( !(bell = (argv[1][1] == 'b')) )
  15.             usage();
  16.  
  17.         --argc;        /* Skip the -b */
  18.         ++argv;
  19.     }
  20.  
  21.     --argc;            /* Skip the file name */
  22.     ++argv;
  23.  
  24.  
  25.     if( argc > 0 )
  26.         for(; --argc >= 0; printf("%s ", *argv++)  )
  27.             ;
  28.     else
  29.         fprintf(stderr,"Press Enter to continue ");
  30.  
  31.  
  32.     if( bell )
  33.         putc('\007', stderr );
  34.  
  35.  
  36.     getchar();
  37.     exit( 0 );
  38. }
  39.  
  40. usage()
  41. {
  42.     E("Usage: pause [-b] [text ...]");
  43.     E("");
  44.     E("Print text and wait for a CR to be typed. If text isn't present");
  45.     E("the default \"Press Enter to continue\" is used. If -b is present");
  46.     E("the bell is rung");
  47.     exit( 1 );
  48. }
  49.