[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.7 and 1.8

version 1.7, 2013/03/22 15:54:29 version 1.8, 2013/03/24 09:54:10
Line 25 
Line 25 
   
 #include "tmux.h"  #include "tmux.h"
   
 void printflike2 control_msg_error(struct cmd_ctx *, const char *, ...);  
 void printflike2 control_msg_print(struct cmd_ctx *, const char *, ...);  
 void printflike2 control_msg_info(struct cmd_ctx *, const char *, ...);  
   
 /* Command error callback. */  
 void printflike2  
 control_msg_error(struct cmd_ctx *ctx, const char *fmt, ...)  
 {  
         struct client   *c = ctx->curclient;  
         va_list          ap;  
   
         va_start(ap, fmt);  
         evbuffer_add_vprintf(c->stdout_data, fmt, ap);  
         va_end(ap);  
   
         evbuffer_add(c->stdout_data, "\n", 1);  
         server_push_stdout(c);  
 }  
   
 /* Command print callback. */  
 void printflike2  
 control_msg_print(struct cmd_ctx *ctx, const char *fmt, ...)  
 {  
         struct client   *c = ctx->curclient;  
         va_list          ap;  
   
         va_start(ap, fmt);  
         evbuffer_add_vprintf(c->stdout_data, fmt, ap);  
         va_end(ap);  
   
         evbuffer_add(c->stdout_data, "\n", 1);  
         server_push_stdout(c);  
 }  
   
 /* Command info callback. */  
 void printflike2  
 control_msg_info(unused struct cmd_ctx *ctx, unused const char *fmt, ...)  
 {  
 }  
   
 /* Write a line. */  /* Write a line. */
 void printflike2  void printflike2
 control_write(struct client *c, const char *fmt, ...)  control_write(struct client *c, const char *fmt, ...)
Line 93 
Line 53 
 control_callback(struct client *c, int closed, unused void *data)  control_callback(struct client *c, int closed, unused void *data)
 {  {
         char            *line, *cause;          char            *line, *cause;
         struct cmd_ctx  *ctx;  
         struct cmd_list *cmdlist;          struct cmd_list *cmdlist;
   
         if (closed)          if (closed)
Line 108 
Line 67 
                         break;                          break;
                 }                  }
   
                 ctx = cmd_get_ctx(NULL, c);                  if (cmd_string_parse(line, &cmdlist, NULL, 0, &cause) != 0) {
                 ctx->error = control_msg_error;  
                 ctx->print = control_msg_print;  
                 ctx->info = control_msg_info;  
   
                 if (cmd_string_parse(line, &cmdlist, &cause) != 0) {  
                         control_write(c, "%%error in line \"%s\": %s", line,                          control_write(c, "%%error in line \"%s\": %s", line,
                             cause);                              cause);
                         free(cause);                          free(cause);
                 } else {                  } else {
                         cmd_list_exec(cmdlist, ctx);                          cmdq_run(c->cmdq, cmdlist);
                         cmd_list_free(cmdlist);                          cmd_list_free(cmdlist);
                 }                  }
                 cmd_free_ctx(ctx);  
   
                 free(line);                  free(line);
         }          }

Legend:
Removed from v.1.7  
changed lines
  Added in v.1.8