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

Diff for /src/usr.bin/tmux/cmd-detach-client.c between version 1.14 and 1.15

version 1.14, 2013/10/10 12:00:19 version 1.15, 2013/10/10 12:28:08
Line 18 
Line 18 
   
 #include <sys/types.h>  #include <sys/types.h>
   
   #include <string.h>
   
 #include "tmux.h"  #include "tmux.h"
   
 /*  /*
Line 40 
Line 42 
 {  {
         struct args     *args = self->args;          struct args     *args = self->args;
         struct client   *c, *c2;          struct client   *c, *c2;
         struct session  *s;          struct session  *s;
         enum msgtype     msgtype;          enum msgtype     msgtype;
         u_int            i;          u_int            i;
   
         if (args_has(args, 'P'))          if (args_has(args, 'P'))
Line 56 
Line 58 
   
                 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);
                         if (c != NULL && c->session == s)                          if (c == NULL || c->session != s)
                                 server_write_client(c, msgtype, NULL, 0);                                  continue;
                           server_write_client(c, msgtype, c->session->name,
                               strlen(c->session->name) + 1);
                 }                  }
         } else {          } else {
                 c = cmd_find_client(cmdq, args_get(args, 't'), 0);                  c = cmd_find_client(cmdq, args_get(args, 't'), 0);
Line 69 
Line 73 
                                 c2 = ARRAY_ITEM(&clients, i);                                  c2 = ARRAY_ITEM(&clients, i);
                                 if (c2 == NULL || c == c2)                                  if (c2 == NULL || c == c2)
                                         continue;                                          continue;
                                 server_write_client(c2, msgtype, NULL, 0);                                  server_write_client(c2, msgtype,
                                       c2->session->name,
                                       strlen(c2->session->name) + 1);
                         }                          }
                 } else                  } else {
                         server_write_client(c, msgtype, NULL, 0);                          server_write_client(c, msgtype, c->session->name,
                               strlen(c->session->name) + 1);
                   }
         }          }
   
         return (CMD_RETURN_STOP);          return (CMD_RETURN_STOP);

Legend:
Removed from v.1.14  
changed lines
  Added in v.1.15