mirror of
				https://github.com/tmux/tmux.git
				synced 2025-10-26 12:27:15 +00:00 
			
		
		
		
	Move struct paste_buffer out of tmux.h.
This commit is contained in:
		| @@ -42,9 +42,9 @@ cmd_set_buffer_exec(struct cmd *self, struct cmd_q *cmdq) | ||||
| { | ||||
| 	struct args		*args = self->args; | ||||
| 	struct paste_buffer	*pb; | ||||
| 	char			*pdata, *cause; | ||||
| 	const char		*bufname; | ||||
| 	size_t			 psize, newsize; | ||||
| 	char			*bufdata, *cause; | ||||
| 	const char		*bufname, *olddata; | ||||
| 	size_t			 bufsize, newsize; | ||||
|  | ||||
| 	bufname = NULL; | ||||
|  | ||||
| @@ -58,12 +58,11 @@ cmd_set_buffer_exec(struct cmd *self, struct cmd_q *cmdq) | ||||
| 			bufname = args_get(args, 'b'); | ||||
|  | ||||
| 		if (bufname == NULL) { | ||||
| 			pb = paste_get_top(); | ||||
| 			pb = paste_get_top(&bufname); | ||||
| 			if (pb == NULL) { | ||||
| 				cmdq_error(cmdq, "no buffer"); | ||||
| 				return (CMD_RETURN_ERROR); | ||||
| 			} | ||||
| 			bufname = pb->name; | ||||
| 		} | ||||
|  | ||||
| 		if (paste_rename(bufname, args_get(args, 'n'), &cause) != 0) { | ||||
| @@ -79,37 +78,33 @@ cmd_set_buffer_exec(struct cmd *self, struct cmd_q *cmdq) | ||||
| 		cmdq_error(cmdq, "no data specified"); | ||||
| 		return (CMD_RETURN_ERROR); | ||||
| 	} | ||||
|  | ||||
| 	psize = 0; | ||||
| 	pdata = NULL; | ||||
|  | ||||
| 	pb = NULL; | ||||
|  | ||||
| 	bufsize = 0; | ||||
| 	bufdata = NULL; | ||||
|  | ||||
| 	if ((newsize = strlen(args->argv[0])) == 0) | ||||
| 		return (CMD_RETURN_NORMAL); | ||||
|  | ||||
| 	if (args_has(args, 'b')) { | ||||
| 		bufname = args_get(args, 'b'); | ||||
| 		pb = paste_get_name(bufname); | ||||
| 	} else if (args_has(args, 'a')) { | ||||
| 		pb = paste_get_top(); | ||||
| 		if (pb != NULL) | ||||
| 			bufname = pb->name; | ||||
| 	} | ||||
| 	} else if (args_has(args, 'a')) | ||||
| 		pb = paste_get_top(&bufname); | ||||
|  | ||||
| 	if (args_has(args, 'a') && pb != NULL) { | ||||
| 		psize = pb->size; | ||||
| 		pdata = xmalloc(psize); | ||||
| 		memcpy(pdata, pb->data, psize); | ||||
| 		olddata = paste_buffer_data(pb, &bufsize); | ||||
| 		bufdata = xmalloc(bufsize); | ||||
| 		memcpy(bufdata, olddata, bufsize); | ||||
| 	} | ||||
|  | ||||
| 	pdata = xrealloc(pdata, psize + newsize); | ||||
| 	memcpy(pdata + psize, args->argv[0], newsize); | ||||
| 	psize += newsize; | ||||
| 	bufdata = xrealloc(bufdata, bufsize + newsize); | ||||
| 	memcpy(bufdata + bufsize, args->argv[0], newsize); | ||||
| 	bufsize += newsize; | ||||
|  | ||||
| 	if (paste_set(pdata, psize, bufname, &cause) != 0) { | ||||
| 	if (paste_set(bufdata, bufsize, bufname, &cause) != 0) { | ||||
| 		cmdq_error(cmdq, "%s", cause); | ||||
| 		free(pdata); | ||||
| 		free(bufdata); | ||||
| 		free(cause); | ||||
| 		return (CMD_RETURN_ERROR); | ||||
| 	} | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 nicm
					nicm