[BACK]Return to cfg.c CVS log [TXT][DIR] Up to [local] / src / usr.bin / tmux

Diff for /src/usr.bin/tmux/cfg.c between version 1.34 and 1.35

version 1.34, 2015/04/19 21:34:21 version 1.35, 2015/04/25 18:47:01
Line 30 
Line 30 
 struct cmd_q            *cfg_cmd_q;  struct cmd_q            *cfg_cmd_q;
 int                      cfg_finished;  int                      cfg_finished;
 int                      cfg_references;  int                      cfg_references;
 ARRAY_DECL (, char *)    cfg_causes = ARRAY_INITIALIZER;  char**                   cfg_causes;
   u_int                    cfg_ncauses;
 struct client           *cfg_client;  struct client           *cfg_client;
   
 int  int
Line 122 
Line 123 
         xvasprintf(&msg, fmt, ap);          xvasprintf(&msg, fmt, ap);
         va_end (ap);          va_end (ap);
   
         ARRAY_ADD(&cfg_causes, msg);          cfg_ncauses++;
           cfg_causes = xreallocarray(cfg_causes, cfg_ncauses, sizeof *cfg_causes);
           cfg_causes[cfg_ncauses - 1] = msg;
 }  }
   
 void  void
 cfg_print_causes(struct cmd_q *cmdq)  cfg_print_causes(struct cmd_q *cmdq)
 {  {
         char    *cause;  
         u_int    i;          u_int    i;
   
         for (i = 0; i < ARRAY_LENGTH(&cfg_causes); i++) {          for (i = 0; i < cfg_ncauses; i++) {
                 cause = ARRAY_ITEM(&cfg_causes, i);                  cmdq_print(cmdq, "%s", cfg_causes[i]);
                 cmdq_print(cmdq, "%s", cause);                  free(cfg_causes[i]);
                 free(cause);  
         }          }
         ARRAY_FREE(&cfg_causes);  
           free(cfg_causes);
           cfg_causes = NULL;
 }  }
   
 void  void
 cfg_show_causes(struct session *s)  cfg_show_causes(struct session *s)
 {  {
         struct window_pane      *wp;          struct window_pane      *wp;
         char                    *cause;  
         u_int                    i;          u_int                    i;
   
         if (s == NULL || ARRAY_EMPTY(&cfg_causes))          if (s == NULL || cfg_ncauses == 0)
                 return;                  return;
         wp = s->curw->window->active;          wp = s->curw->window->active;
   
         window_pane_set_mode(wp, &window_copy_mode);          window_pane_set_mode(wp, &window_copy_mode);
         window_copy_init_for_output(wp);          window_copy_init_for_output(wp);
         for (i = 0; i < ARRAY_LENGTH(&cfg_causes); i++) {          for (i = 0; i < cfg_ncauses; i++) {
                 cause = ARRAY_ITEM(&cfg_causes, i);                  window_copy_add(wp, "%s", cfg_causes[i]);
                 window_copy_add(wp, "%s", cause);                  free(cfg_causes[i]);
                 free(cause);  
         }          }
         ARRAY_FREE(&cfg_causes);  
           free(cfg_causes);
           cfg_causes = NULL;
 }  }

Legend:
Removed from v.1.34  
changed lines
  Added in v.1.35