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

Diff for /src/usr.bin/tmux/cmd-set-buffer.c between version 1.7 and 1.8

version 1.7, 2010/12/30 23:16:18 version 1.8, 2011/01/04 00:42:47
Line 30 
Line 30 
   
 const struct cmd_entry cmd_set_buffer_entry = {  const struct cmd_entry cmd_set_buffer_entry = {
         "set-buffer", "setb",          "set-buffer", "setb",
           "b:", 1, 1,
         CMD_BUFFER_USAGE " data",          CMD_BUFFER_USAGE " data",
         CMD_ARG1, "",          0,
         cmd_buffer_init,          NULL,
         cmd_buffer_parse,          NULL,
         cmd_set_buffer_exec,          cmd_set_buffer_exec
         cmd_buffer_free,  
         cmd_buffer_print  
 };  };
   
 int  int
 cmd_set_buffer_exec(struct cmd *self, struct cmd_ctx *ctx)  cmd_set_buffer_exec(struct cmd *self, struct cmd_ctx *ctx)
 {  {
         struct cmd_buffer_data  *data = self->data;          struct args     *args = self->args;
         u_int                    limit;          u_int            limit;
         char                    *pdata;          char            *pdata, *cause;
         size_t                   psize;          size_t           psize;
           int              buffer;
   
         limit = options_get_number(&global_options, "buffer-limit");          limit = options_get_number(&global_options, "buffer-limit");
   
         pdata = xstrdup(data->arg);          pdata = xstrdup(args->argv[0]);
         psize = strlen(pdata);          psize = strlen(pdata);
   
         if (data->buffer == -1) {          if (!args_has(args, 'b')) {
                 paste_add(&global_buffers, pdata, psize, limit);                  paste_add(&global_buffers, pdata, psize, limit);
                 return (0);                  return (0);
         }          }
         if (paste_replace(&global_buffers, data->buffer, pdata, psize) != 0) {  
                 ctx->error(ctx, "no buffer %d", data->buffer);          buffer = args_strtonum(args, 'b', 0, INT_MAX, &cause);
           if (cause != NULL) {
                   ctx->error(ctx, "buffer %s", cause);
                   xfree(cause);
                   return (-1);
           }
   
           if (paste_replace(&global_buffers, buffer, pdata, psize) != 0) {
                   ctx->error(ctx, "no buffer %d", buffer);
                 xfree(pdata);                  xfree(pdata);
                 return (-1);                  return (-1);
         }          }
   
         return (0);          return (0);
 }  }

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