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

Diff for /src/usr.bin/tmux/control.c between version 1.29 and 1.30

version 1.29, 2020/04/13 15:55:51 version 1.30, 2020/04/13 18:59:41
Line 56 
Line 56 
 /* Control input callback. Read lines and fire commands. */  /* Control input callback. Read lines and fire commands. */
 static void  static void
 control_callback(__unused struct client *c, __unused const char *path,  control_callback(__unused struct client *c, __unused const char *path,
     int error, int closed, struct evbuffer *buffer, __unused void *data)      int read_error, int closed, struct evbuffer *buffer, __unused void *data)
 {  {
         char                    *line;          char                    *line, *error;
         struct cmdq_item        *item;  
         struct cmdq_state       *state;          struct cmdq_state       *state;
         struct cmd_parse_result *pr;          enum cmd_parse_status    status;
   
         if (closed || error != 0)          if (closed || read_error != 0)
                 c->flags |= CLIENT_EXIT;                  c->flags |= CLIENT_EXIT;
   
         for (;;) {          for (;;) {
Line 77 
Line 76 
                         break;                          break;
                 }                  }
   
                 pr = cmd_parse_from_string(line, NULL);                  state = cmdq_new_state(NULL, NULL, CMDQ_STATE_CONTROL);
                 switch (pr->status) {                  status = cmd_parse_and_append(line, NULL, c, state, &error);
                 case CMD_PARSE_EMPTY:                  if (status == CMD_PARSE_ERROR)
                         break;                          cmdq_append(c, cmdq_get_callback(control_error, error));
                 case CMD_PARSE_ERROR:                  cmdq_free_state(state);
                         item = cmdq_get_callback(control_error, pr->error);  
                         cmdq_append(c, item);  
                         break;  
                 case CMD_PARSE_SUCCESS:  
                         state = cmdq_new_state(NULL, NULL, CMDQ_STATE_CONTROL);  
                         item = cmdq_get_command(pr->cmdlist, state);  
                         cmdq_append(c, item);  
                         cmdq_free_state(state);  
                         cmd_list_free(pr->cmdlist);  
                         break;  
                 }  
   
                 free(line);                  free(line);
         }          }

Legend:
Removed from v.1.29  
changed lines
  Added in v.1.30