Diff for /src/sbin/rcorder/rcorder.c between versions 1.3 and 1.4

version 1.3, 2003/11/01 17:16:01 version 1.4, 2003/12/11 20:50:21
Line 126  filenode fn_head_s, *fn_head; Line 126  filenode fn_head_s, *fn_head;
 strnodelist *bl_list;  strnodelist *bl_list;
 strnodelist *keep_list;  strnodelist *keep_list;
 strnodelist *skip_list;  strnodelist *skip_list;
   strnodelist *onetime_list;
   
 void do_file(filenode *fnode);  void do_file(filenode *fnode);
 void strnode_add(strnodelist **, char *, filenode *);  void strnode_add(strnodelist **, char *, filenode *);
Line 154  main(int argc, char **argv) Line 155  main(int argc, char **argv)
 {  {
         int ch;          int ch;
   
        while ((ch = getopt(argc, argv, "dk:s:")) != -1)        while ((ch = getopt(argc, argv, "dk:s:o:")) != -1)
                 switch (ch) {                  switch (ch) {
                 case 'd':                  case 'd':
 #ifdef DEBUG  #ifdef DEBUG
Line 169  main(int argc, char **argv) Line 170  main(int argc, char **argv)
                 case 's':                  case 's':
                         strnode_add(&skip_list, optarg, 0);                          strnode_add(&skip_list, optarg, 0);
                         break;                          break;
                   case 'o':
                           strnode_add(&onetime_list, optarg, 0);
                           break;
                 default:                  default:
                         /* XXX should crunch it? */                          /* XXX should crunch it? */
                         break;                          break;
Line 786  generate_ordering(void) Line 790  generate_ordering(void)
          * executed only once for every strongly connected set of           * executed only once for every strongly connected set of
          * nodes.           * nodes.
          */           */
        while (fn_head->next != NULL) {        if (onetime_list) {
                DPRINTF((stderr, "generate on %s\n", fn_head->next->filename));                struct strnodelist *scan;
                do_file(fn_head->next);                filenode *file;
 
                 for (scan = onetime_list; scan; scan = scan->next) {
                     for (file = fn_head->next; file; file = file->next) {
                         if (strcmp(scan->s, file->filename) == 0) {
                             do_file(file);
                             break;
                         }
                     }
                 }
         } else {
                 while (fn_head->next != NULL) {
                         DPRINTF((stderr, "generate on %s\n", fn_head->next->filename));
                         do_file(fn_head->next);
                 }
         }          }
 }  }

Removed from v.1.3  
changed lines
  Added in v.1.4