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

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

version 1.7, 2010/06/28 22:10:42 version 1.8, 2010/07/24 20:11:59
Line 47 
Line 47 
         struct cmd_buffer_data  *data = self->data;          struct cmd_buffer_data  *data = self->data;
         struct session          *s;          struct session          *s;
         struct paste_buffer     *pb;          struct paste_buffer     *pb;
         mode_t                  mask;          mode_t                   mask;
         FILE                    *f, *close_f;          FILE                    *f;
   
         if ((s = cmd_find_session(ctx, data->target)) == NULL)          if ((s = cmd_find_session(ctx, data->target)) == NULL)
                 return (-1);                  return (-1);
Line 70 
Line 70 
                         ctx->error(ctx, "%s: can't write to stdout", data->arg);                          ctx->error(ctx, "%s: can't write to stdout", data->arg);
                         return (-1);                          return (-1);
                 }                  }
                 f = ctx->cmdclient->stdout_file;                  bufferevent_write(
                 close_f = NULL;                      ctx->cmdclient->stdout_event, pb->data, pb->size);
         } else {          } else {
                 mask = umask(S_IRWXG | S_IRWXO);                  mask = umask(S_IRWXG | S_IRWXO);
                 if (cmd_check_flag(data->chflags, 'a'))                  if (cmd_check_flag(data->chflags, 'a'))
Line 83 
Line 83 
                         ctx->error(ctx, "%s: %s", data->arg, strerror(errno));                          ctx->error(ctx, "%s: %s", data->arg, strerror(errno));
                         return (-1);                          return (-1);
                 }                  }
                 close_f = f;                  if (fwrite(pb->data, 1, pb->size, f) != pb->size) {
                           ctx->error(ctx, "%s: fwrite error", data->arg);
                           fclose(f);
                           return (-1);
                   }
                   fclose(f);
         }          }
   
         if (fwrite(pb->data, 1, pb->size, f) != pb->size) {  
                 ctx->error(ctx, "%s: fwrite error", data->arg);  
                 fclose(f);  
                 return (-1);  
         }  
   
         if (close_f != NULL)  
                 fclose(close_f);  
   
         return (0);          return (0);
 }  }

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