=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/tmux/cmd-save-buffer.c,v retrieving revision 1.15 retrieving revision 1.16 diff -c -r1.15 -r1.16 *** src/usr.bin/tmux/cmd-save-buffer.c 2012/07/10 11:53:01 1.15 --- src/usr.bin/tmux/cmd-save-buffer.c 2012/07/11 07:10:15 1.16 *************** *** 1,4 **** ! /* $OpenBSD: cmd-save-buffer.c,v 1.15 2012/07/10 11:53:01 nicm Exp $ */ /* * Copyright (c) 2009 Tiago Cunha --- 1,4 ---- ! /* $OpenBSD: cmd-save-buffer.c,v 1.16 2012/07/11 07:10:15 nicm Exp $ */ /* * Copyright (c) 2009 Tiago Cunha *************** *** 29,35 **** * Saves a paste buffer to a file. */ ! int cmd_save_buffer_exec(struct cmd *, struct cmd_ctx *); const struct cmd_entry cmd_save_buffer_entry = { "save-buffer", "saveb", --- 29,35 ---- * Saves a paste buffer to a file. */ ! enum cmd_retval cmd_save_buffer_exec(struct cmd *, struct cmd_ctx *); const struct cmd_entry cmd_save_buffer_entry = { "save-buffer", "saveb", *************** *** 41,47 **** cmd_save_buffer_exec }; ! int cmd_save_buffer_exec(struct cmd *self, struct cmd_ctx *ctx) { struct args *args = self->args; --- 41,47 ---- cmd_save_buffer_exec }; ! enum cmd_retval cmd_save_buffer_exec(struct cmd *self, struct cmd_ctx *ctx) { struct args *args = self->args; *************** *** 57,76 **** if (!args_has(args, 'b')) { if ((pb = paste_get_top(&global_buffers)) == NULL) { ctx->error(ctx, "no buffers"); ! return (-1); } } else { buffer = args_strtonum(args, 'b', 0, INT_MAX, &cause); if (cause != NULL) { ctx->error(ctx, "buffer %s", cause); free(cause); ! return (-1); } pb = paste_get_index(&global_buffers, buffer); if (pb == NULL) { ctx->error(ctx, "no buffer %d", buffer); ! return (-1); } } --- 57,76 ---- if (!args_has(args, 'b')) { if ((pb = paste_get_top(&global_buffers)) == NULL) { ctx->error(ctx, "no buffers"); ! return (CMD_RETURN_ERROR); } } else { buffer = args_strtonum(args, 'b', 0, INT_MAX, &cause); if (cause != NULL) { ctx->error(ctx, "buffer %s", cause); free(cause); ! return (CMD_RETURN_ERROR); } pb = paste_get_index(&global_buffers, buffer); if (pb == NULL) { ctx->error(ctx, "no buffer %d", buffer); ! return (CMD_RETURN_ERROR); } } *************** *** 78,84 **** if (strcmp(path, "-") == 0) { if (c == NULL) { ctx->error(ctx, "%s: can't write to stdout", path); ! return (-1); } evbuffer_add(c->stdout_data, pb->data, pb->size); server_push_stdout(c); --- 78,84 ---- if (strcmp(path, "-") == 0) { if (c == NULL) { ctx->error(ctx, "%s: can't write to stdout", path); ! return (CMD_RETURN_ERROR); } evbuffer_add(c->stdout_data, pb->data, pb->size); server_push_stdout(c); *************** *** 105,119 **** umask(mask); if (f == NULL) { ctx->error(ctx, "%s: %s", path, strerror(errno)); ! return (-1); } if (fwrite(pb->data, 1, pb->size, f) != pb->size) { ctx->error(ctx, "%s: fwrite error", path); fclose(f); ! return (-1); } fclose(f); } ! return (0); } --- 105,119 ---- umask(mask); if (f == NULL) { ctx->error(ctx, "%s: %s", path, strerror(errno)); ! return (CMD_RETURN_ERROR); } if (fwrite(pb->data, 1, pb->size, f) != pb->size) { ctx->error(ctx, "%s: fwrite error", path); fclose(f); ! return (CMD_RETURN_ERROR); } fclose(f); } ! return (CMD_RETURN_NORMAL); }