home *** CD-ROM | disk | FTP | other *** search
/ Simtel MSDOS 1992 June / SIMTEL_0692.cdr / msdos / zoo / stuff2.arc / PARSEOPT.PCH < prev    next >
Text File  |  1989-03-21  |  4KB  |  176 lines

  1.  Patches to upgrade from Stuff 1.0 to Stuff 1.1
  2.  (see "readme.too" for details).
  3.  
  4. *** ../parseopt.c    Fri Oct 21 19:01:18 1988
  5. --- parseopt.c    Mon Oct 24 13:22:26 1988
  6. ***************
  7. *** 23,28
  8.   request_rec options[MAX_OPTS];
  9.   
  10.   int last_opt = -1;
  11.   static void badopt (char *option);
  12.   static int insufargs(void);
  13.   
  14.  
  15. --- 23,29 -----
  16.   request_rec options[MAX_OPTS];
  17.   
  18.   int last_opt = -1;
  19. + static void muchopts(void);
  20.   static void badopt (char *option);
  21.   static void badnegopt (char *option);
  22.   static int insufargs(void);
  23. ***************
  24. *** 24,29
  25.   
  26.   int last_opt = -1;
  27.   static void badopt (char *option);
  28.   static int insufargs(void);
  29.   
  30.   void parseopt (char **argv, int *i, int argc)
  31.  
  32. --- 25,31 -----
  33.   int last_opt = -1;
  34.   static void muchopts(void);
  35.   static void badopt (char *option);
  36. + static void badnegopt (char *option);
  37.   static int insufargs(void);
  38.   
  39.   void parseopt (char **argv, int *i, int argc)
  40. ***************
  41. *** 28,34
  42.   
  43.   void parseopt (char **argv, int *i, int argc)
  44.   {
  45. !     static char *lastoption = "err";
  46.       char *option;
  47.       request_rec *optr;
  48.   
  49.  
  50. --- 30,36 -----
  51.   
  52.   void parseopt (char **argv, int *i, int argc)
  53.   {
  54. !     static char *lastoption = ",";
  55.       char *option;
  56.       request_rec *optr;
  57.   
  58. ***************
  59. *** 42,47
  60.   
  61.       if (STRCMP (option,==,"!"))    {
  62.           ++(*i);                            
  63.     /* move to next option */
  64.           parseopt (argv, i, argc);            /* get next opt
  65. ion */
  66.           options[last_opt].negate = 1;        /*  .. negate it */
  67.           return;
  68.  
  69. --- 44,51 -----
  70.   
  71.       if (STRCMP (option,==,"!"))    {
  72.           ++(*i);                            
  73.     /* move to next option */
  74. +         if (STRCMP(argv[*i],==,OPT_RESPONSE))
  75. +             badnegopt(argv[*i]);
  76.           parseopt (argv, i, argc);            /* get next opt
  77. ion */
  78.           options[last_opt].negate = 1;        /*  .. negate it */
  79.           return;
  80. ***************
  81. *** 47,53
  82.           return;
  83.       }
  84.   
  85. !     last_opt++;
  86.       options[last_opt].negate = 0;
  87.       optr = &options[last_opt];
  88.   
  89.  
  90. --- 51,59 -----
  91.           return;
  92.       }
  93.   
  94. !     if (++last_opt >= MAX_OPTS)
  95. !         muchopts();
  96. !         
  97.       options[last_opt].negate = 0;
  98.       optr = &options[last_opt];
  99.   
  100. ***************
  101. *** 76,81
  102.           optr->info.mtime_info.value = filetime(argv[NEXT_ARG(*i,argc)])
  103. ;
  104.       } else if (STRCMP(option,==,OPT_MODIFIED)) {
  105.           optr->choice = MODIFIED;
  106.       } else
  107.           badopt (option);
  108.   
  109.  
  110. --- 82,90 -----
  111.           optr->info.mtime_info.value = filetime(argv[NEXT_ARG(*i,argc)])
  112. ;
  113.       } else if (STRCMP(option,==,OPT_MODIFIED)) {
  114.           optr->choice = MODIFIED;
  115. +     } else if (STRCMP(option,==,OPT_RESPONSE)) {
  116. +         last_opt--;
  117. +         do_response(argv[NEXT_ARG(*i,argc)]);
  118.       } else
  119.           badopt (option);
  120.   
  121. ***************
  122. *** 81,86
  123.   
  124.       lastoption = option;
  125.   }
  126.   void badopt (char *option)
  127.   {
  128.   #ifdef UNBUF_IO
  129.  
  130. --- 90,106 -----
  131.   
  132.       lastoption = option;
  133.   }
  134. + void muchopts ()
  135. + {
  136. + #ifdef UNBUF_IO
  137. +     errmsg ("stuff:  FATAL: Too much options.\n");
  138. + #else
  139. +     fprintf (stderr, "stuff:  FATAL: Too much options.\n");
  140. + #endif
  141. +     exit(1);
  142. + }
  143.   void badopt (char *option)
  144.   {
  145.   #ifdef UNBUF_IO
  146. ***************
  147. *** 89,94
  148.       errmsg ("] is invalid\n");
  149.   #else
  150.       fprintf (stderr, "stuff:  FATAL:  option [%s] is invalid\n", option);
  151.   #endif
  152.       exit(1);
  153.   }
  154.  
  155. --- 109,126 -----
  156.       errmsg ("] is invalid\n");
  157.   #else
  158.       fprintf (stderr, "stuff:  FATAL:  option [%s] is invalid\n", option);
  159. + #endif
  160. +     exit(1);
  161. + }
  162. + void badnegopt (char *option)
  163. + {
  164. + #ifdef UNBUF_IO
  165. +     errmsg ("stuff:  FATAL:  option [! ");
  166. +     errmsg (option);
  167. +     errmsg ("] is invalid\n");
  168. + #else
  169. +     fprintf (stderr, "stuff:  FATAL:  option [! %s] is invalid\n", option);
  170.   #endif
  171.       exit(1);
  172.   }
  173.