rem: if(  (thread_flags & (TF_show_proc|TF_show_task))  ==  (TF_show_proc|TF_show_task)  ){
add: if(thread_flags & TF_show_both){
context: static void lists_and_needs(void){  check_headers();  // only care about the difference when showing both  if(  (thread_flags & (TF_show_proc|TF_show_task))  ==  (TF_show_proc|TF_show_task)  ){    format_node pfn, tfn; // junk, to handle special case at begin of list    format_node *walk = format_list;    format_node *p_end = &pfn;    format_node *t_end = &tfn;    while(walk){      format_node *new = malloc(sizeof(format_node));      memcpy(new,walk,sizeof(format_node));      p_end->next = walk;      t_end->next = new;      p_end       = walk;      t_end       = new;      switch(walk->flags & CF_PRINT_MASK){      case CF_PRINT_THREAD_ONLY:        p_end->pr   = pr_nop;        p_end->need = 0;        break;      case CF_PRINT_PROCESS_ONLY:        t_end->pr   = pr_nop;        t_end->need = 0;        break;      default:        fprintf(stderr, "please report this bug\n");        // FALL THROUGH      case CF_PRINT_AS_NEEDED:      case CF_PRINT_EVERY_TIME:        break;      }      walk = walk->next;    }    t_end->next = NULL;    p_end->next = NULL;    proc_format_list = pfn.next;    task_format_list = tfn.next;  }else{    proc_format_list = format_list;    task_format_list = format_list;  }  proc_format_needs = collect_format_needs(proc_format_list);  task_format_needs = collect_format_needs(task_format_list);  needs_for_sort = check_sort_needs(sort_list);  // move process-only flags to the process  proc_format_needs |= (task_format_needs &~ PROC_ONLY_FLAGS);  task_format_needs &= ~PROC_ONLY_FLAGS;  if(bsd_c_option){    proc_format_needs &= ~PROC_FILLARG;    needs_for_sort    &= ~PROC_FILLARG;  }  if(!unix_f_option){    proc_format_needs &= ~PROC_FILLCOM;    needs_for_sort    &= ~PROC_FILLCOM;  }  // convert ARG to COM as a standard  if(proc_format_needs & PROC_FILLARG){    proc_format_needs |= PROC_FILLCOM;    proc_format_needs &= ~PROC_FILLARG;  }  if(bsd_e_option){    if(proc_format_needs&PROC_FILLCOM) proc_format_needs |= PROC_FILLENV;  }    /* FIXME  broken filthy hack -- got to unify some stuff here */  if( ( (proc_format_needs|task_format_needs|needs_for_sort) & PROC_FILLWCHAN) && !wchan_is_number)    if (open_psdb(namelist_file)) wchan_is_number = 1;}