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

Diff for /src/usr.bin/tmux/cmd-load-buffer.c between version 1.11 and 1.12

version 1.11, 2010/02/22 20:33:12 version 1.12, 2010/06/28 22:10:42
Line 16 
Line 16 
  * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.   * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  */   */
   
   #include <sys/types.h>
   
 #include <errno.h>  #include <errno.h>
 #include <stdio.h>  #include <stdio.h>
 #include <stdlib.h>  #include <stdlib.h>
 #include <string.h>  #include <string.h>
   #include <unistd.h>
   
 #include "tmux.h"  #include "tmux.h"
   
Line 45 
Line 48 
 {  {
         struct cmd_buffer_data  *data = self->data;          struct cmd_buffer_data  *data = self->data;
         struct session          *s;          struct session          *s;
         FILE                    *f;          FILE                    *f, *close_f;
         char                    *pdata, *new_pdata;          char                    *pdata, *new_pdata;
         size_t                   psize;          size_t                   psize;
         u_int                    limit;          u_int                    limit;
Line 54 
Line 57 
         if ((s = cmd_find_session(ctx, data->target)) == NULL)          if ((s = cmd_find_session(ctx, data->target)) == NULL)
                 return (-1);                  return (-1);
   
         if ((f = fopen(data->arg, "rb")) == NULL) {          if (strcmp(data->arg, "-") == 0 ) {
                 ctx->error(ctx, "%s: %s", data->arg, strerror(errno));                  if (ctx->cmdclient == NULL) {
                 return (-1);                          ctx->error(ctx, "%s: can't read from stdin", data->arg);
                           return (-1);
                   }
                   f = ctx->cmdclient->stdin_file;
                   if (isatty(fileno(ctx->cmdclient->stdin_file))) {
                           ctx->error(ctx, "%s: stdin is a tty", data->arg);
                           return (-1);
                   }
                   close_f = NULL;
           } else {
                   if ((f = fopen(data->arg, "rb")) == NULL) {
                           ctx->error(ctx, "%s: %s", data->arg, strerror(errno));
                           return (-1);
                   }
                   close_f = f;
         }          }
   
         pdata = NULL;          pdata = NULL;
Line 77 
Line 94 
         if (pdata != NULL)          if (pdata != NULL)
                 pdata[psize] = '\0';                  pdata[psize] = '\0';
   
         fclose(f);          if (close_f != NULL)
                   fclose(close_f);
   
         limit = options_get_number(&s->options, "buffer-limit");          limit = options_get_number(&s->options, "buffer-limit");
         if (data->buffer == -1) {          if (data->buffer == -1) {
Line 94 
Line 112 
 error:  error:
         if (pdata != NULL)          if (pdata != NULL)
                 xfree(pdata);                  xfree(pdata);
         fclose(f);          if (close_f != NULL)
                   fclose(close_f);
         return (-1);          return (-1);
 }  }

Legend:
Removed from v.1.11  
changed lines
  Added in v.1.12