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

Diff for /src/usr.bin/tmux/server-client.c between version 1.16 and 1.17

version 1.16, 2009/11/04 23:42:51 version 1.17, 2009/11/05 00:05:00
Line 28 
Line 28 
 #include "tmux.h"  #include "tmux.h"
   
 void    server_client_handle_data(struct client *);  void    server_client_handle_data(struct client *);
   void    server_client_repeat_timer(int, short, void *);
 void    server_client_check_redraw(struct client *);  void    server_client_check_redraw(struct client *);
 void    server_client_set_title(struct client *);  void    server_client_set_title(struct client *);
   
Line 41 
Line 42 
 void printflike2 server_client_msg_print(struct cmd_ctx *, const char *, ...);  void printflike2 server_client_msg_print(struct cmd_ctx *, const char *, ...);
 void printflike2 server_client_msg_info(struct cmd_ctx *, const char *, ...);  void printflike2 server_client_msg_info(struct cmd_ctx *, const char *, ...);
   
   
 /* Create a new client. */  /* Create a new client. */
 void  void
 server_client_create(int fd)  server_client_create(int fd)
Line 84 
Line 84 
         c->prompt_buffer = NULL;          c->prompt_buffer = NULL;
         c->prompt_index = 0;          c->prompt_index = 0;
   
           evtimer_set(&c->repeat_timer, server_client_repeat_timer, c);
   
         for (i = 0; i < ARRAY_LENGTH(&clients); i++) {          for (i = 0; i < ARRAY_LENGTH(&clients); i++) {
                 if (ARRAY_ITEM(&clients, i) == NULL) {                  if (ARRAY_ITEM(&clients, i) == NULL) {
                         ARRAY_SET(&clients, i, c);                          ARRAY_SET(&clients, i, c);
Line 119 
Line 121 
         if (c->title != NULL)          if (c->title != NULL)
                 xfree(c->title);                  xfree(c->title);
   
           evtimer_del(&c->repeat_timer);
   
         evtimer_del(&c->identify_timer);          evtimer_del(&c->identify_timer);
   
         if (c->message_string != NULL)          if (c->message_string != NULL)
Line 264 
Line 268 
         struct window_pane      *wp;          struct window_pane      *wp;
         struct screen           *s;          struct screen           *s;
         struct options          *oo;          struct options          *oo;
         struct timeval           tv_add, tv_now;          struct timeval           tv, tv_now;
         struct key_binding      *bd;          struct key_binding      *bd;
         struct keylist          *keylist;          struct keylist          *keylist;
         struct mouse_event       mouse;          struct mouse_event       mouse;
         int                      key, status, xtimeout, mode, isprefix;          int                      key, status, xtimeout, mode, isprefix;
         u_int                    i;          u_int                    i;
   
         /* Check and update repeat flag. */          /* Get the time for the activity timer. */
         if (gettimeofday(&tv_now, NULL) != 0)          if (gettimeofday(&tv_now, NULL) != 0)
                 fatal("gettimeofday failed");                  fatal("gettimeofday failed");
         xtimeout = options_get_number(&c->session->options, "repeat-time");          xtimeout = options_get_number(&c->session->options, "repeat-time");
         if (xtimeout != 0 && c->flags & CLIENT_REPEAT) {  
                 if (timercmp(&tv_now, &c->repeat_timer, >))  
                         c->flags &= ~(CLIENT_PREFIX|CLIENT_REPEAT);  
         }  
   
         /* Process keys. */          /* Process keys. */
         keylist = options_get_data(&c->session->options, "prefix");          keylist = options_get_data(&c->session->options, "prefix");
Line 371 
Line 371 
                 if (xtimeout != 0 && bd->can_repeat) {                  if (xtimeout != 0 && bd->can_repeat) {
                         c->flags |= CLIENT_PREFIX|CLIENT_REPEAT;                          c->flags |= CLIENT_PREFIX|CLIENT_REPEAT;
   
                         tv_add.tv_sec = xtimeout / 1000;                          tv.tv_sec = xtimeout / 1000;
                         tv_add.tv_usec = (xtimeout % 1000) * 1000L;                          tv.tv_usec = (xtimeout % 1000) * 1000L;
                         timeradd(&tv_now, &tv_add, &c->repeat_timer);                          evtimer_del(&c->repeat_timer);
                           evtimer_add(&c->repeat_timer, &tv);
                 }                  }
   
                 /* Dispatch the command. */                  /* Dispatch the command. */
Line 410 
Line 411 
                 mode |= MODE_MOUSE;                  mode |= MODE_MOUSE;
         tty_update_mode(&c->tty, mode);          tty_update_mode(&c->tty, mode);
         tty_reset(&c->tty);          tty_reset(&c->tty);
   }
   
   /* Repeat time callback. */
   void
   server_client_repeat_timer(unused int fd, unused short events, void *data)
   {
           struct client   *c = data;
   
           if (c->flags & CLIENT_REPEAT)
                   c->flags &= ~(CLIENT_PREFIX|CLIENT_REPEAT);
 }  }
   
 /* Check for client redraws. */  /* Check for client redraws. */

Legend:
Removed from v.1.16  
changed lines
  Added in v.1.17