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

Diff for /src/usr.bin/tmux/server-fn.c between version 1.22 and 1.23

version 1.22, 2009/09/23 06:18:47 version 1.23, 2009/09/24 14:17:09
Line 157 
Line 157 
 void  void
 server_lock(void)  server_lock(void)
 {  {
         struct client           *c;          struct client   *c;
         const char              *cmd;          u_int            i;
         struct msg_lock_data     lockdata;  
         u_int                    i;  
   
         for (i = 0; i < ARRAY_LENGTH(&clients); i++) {          for (i = 0; i < ARRAY_LENGTH(&clients); i++) {
                 c = ARRAY_ITEM(&clients, i);                  c = ARRAY_ITEM(&clients, i);
Line 168 
Line 166 
                         continue;                          continue;
                 if (c->flags & CLIENT_SUSPENDED)                  if (c->flags & CLIENT_SUSPENDED)
                         continue;                          continue;
                   server_lock_client(c);
           }
   }
   
                 cmd = options_get_string(&c->session->options, "lock-command");  void
                 if (strlcpy(lockdata.cmd,  server_lock_session(struct session *s)
                     cmd, sizeof lockdata.cmd) >= sizeof lockdata.cmd)  {
           struct client   *c;
           u_int            i;
   
           for (i = 0; i < ARRAY_LENGTH(&clients); i++) {
                   c = ARRAY_ITEM(&clients, i);
                   if (c == NULL || c->session == NULL || c->session != s)
                         continue;                          continue;
                   if (c->flags & CLIENT_SUSPENDED)
                           continue;
                   server_lock_client(c);
           }
   }
   
                 tty_stop_tty(&c->tty);  void
                 tty_raw(&c->tty, tty_term_string(c->tty.term, TTYC_SMCUP));  server_lock_client(struct client *c)
                 tty_raw(&c->tty, tty_term_string(c->tty.term, TTYC_CLEAR));  {
           const char              *cmd;
           size_t                   cmdlen;
           struct msg_lock_data     lockdata;
   
                 c->flags |= CLIENT_SUSPENDED;          cmd = options_get_string(&c->session->options, "lock-command");
                 server_write_client(c, MSG_LOCK, &lockdata, sizeof lockdata);          cmdlen = strlcpy(lockdata.cmd, cmd, sizeof lockdata.cmd);
         }          if (cmdlen >= sizeof lockdata.cmd)
                   return;
   
           tty_stop_tty(&c->tty);
           tty_raw(&c->tty, tty_term_string(c->tty.term, TTYC_SMCUP));
           tty_raw(&c->tty, tty_term_string(c->tty.term, TTYC_CLEAR));
   
           c->flags |= CLIENT_SUSPENDED;
           server_write_client(c, MSG_LOCK, &lockdata, sizeof lockdata);
 }  }
   
 void  void

Legend:
Removed from v.1.22  
changed lines
  Added in v.1.23