home *** CD-ROM | disk | FTP | other *** search
/ The C Users' Group Library 1994 August / wc-cdrom-cusersgrouplibrary-1994-08.iso / listings / v_01_03 / 1n03048a < prev    next >
Text File  |  1990-07-05  |  790b  |  44 lines

  1.  
  2. #include <stdio.h>
  3. #include <time.h>
  4.  
  5. main(int argc, char *argv[])
  6. {
  7.     int ch = '\0', def_ch = '\0';
  8.     char *prompt = "(y/n) ";
  9.     clock_t start, limit = (clock_t)0;
  10.  
  11.     if (1 < argc)
  12.     {
  13.         def_ch = toupper(*argv[1]);
  14.         if ('Y' == def_ch)
  15.             prompt[1] = def_ch;
  16.         else if ('N' == def_ch)
  17.             prompt[3] = def_ch;
  18.         else    def_ch = '\0';
  19.     }
  20.     fputs(prompt, stderr);
  21.     if (2 < argc)
  22.     {
  23.         start = clock();
  24.         limit = (clock_t)(CLK_TCK * atoi(argv[2]));
  25.     }
  26.     while ('Y' != ch && 'N' != ch)
  27.     {
  28.         while (!kbhit())
  29.         {
  30.             if (limit && (limit <= (clock() - start)))
  31.             {
  32.                 ch = def_ch;
  33.                 goto BYE;
  34.             }
  35.         }
  36.         ch = toupper(getch());
  37.         if ('Y' != ch && 'N' != ch && (1 < argc))
  38.             ch = def_ch;
  39.     };
  40. BYE:    fputc(ch, stderr);
  41.     fputc('\n', stderr);
  42.     return ('Y' == ch);
  43. }
  44.