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

Diff for /src/usr.bin/tmux/cmd-paste-buffer.c between version 1.2 and 1.3

version 1.2, 2009/07/02 16:15:43 version 1.3, 2009/07/11 19:14:56
Line 27 
Line 27 
  */   */
   
 int     cmd_paste_buffer_exec(struct cmd *, struct cmd_ctx *);  int     cmd_paste_buffer_exec(struct cmd *, struct cmd_ctx *);
   void    cmd_paste_buffer_lf2cr(struct buffer *, const char *, size_t);
   
 const struct cmd_entry cmd_paste_buffer_entry = {  const struct cmd_entry cmd_paste_buffer_entry = {
         "paste-buffer", "pasteb",          "paste-buffer", "pasteb",
         "[-d] " CMD_BUFFER_WINDOW_USAGE,          "[-dr] " CMD_BUFFER_WINDOW_USAGE,
         CMD_DFLAG,          CMD_DFLAG|CMD_RFLAG,
         cmd_buffer_init,          cmd_buffer_init,
         cmd_buffer_parse,          cmd_buffer_parse,
         cmd_paste_buffer_exec,          cmd_paste_buffer_exec,
Line 63 
Line 64 
                 }                  }
         }          }
   
         if (pb != NULL && *pb->data != '\0')          if (pb != NULL && *pb->data != '\0') {
                 buffer_write(w->active->out, pb->data, strlen(pb->data));                  /* -r means raw data without LF->CR conversion. */
                   if (data->flags & CMD_RFLAG) {
                           buffer_write(
                               w->active->out, pb->data, strlen(pb->data));
                   } else {
                           cmd_paste_buffer_lf2cr(
                               w->active->out, pb->data, strlen(pb->data));
                   }
           }
   
         /* Delete the buffer if -d. */          /* Delete the buffer if -d. */
         if (data->flags & CMD_DFLAG) {          if (data->flags & CMD_DFLAG) {
Line 75 
Line 84 
         }          }
   
         return (0);          return (0);
   }
   
   /* Add bytes to a buffer but change every '\n' to '\r'. */
   void
   cmd_paste_buffer_lf2cr(struct buffer *b, const char *data, size_t size)
   {
           const char      *end = data + size;
           const char      *lf;
   
           while ((lf = memchr(data, '\n', end - data)) != NULL) {
                   if (lf != data)
                           buffer_write(b, data, lf - data);
                   buffer_write8(b, '\r');
                   data = lf + 1;
           }
   
           if (end != data)
                   buffer_write(b, data, end - data);
 }  }

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.3