mirror of
				https://github.com/tmux/tmux.git
				synced 2025-11-04 09:26:05 +00:00 
			
		
		
		
	Support the status_replace # replacement sequences in the pipe-pane
command, thanks to Andrea Barisani.
This commit is contained in:
		@@ -23,6 +23,7 @@
 | 
			
		||||
#include <fcntl.h>
 | 
			
		||||
#include <paths.h>
 | 
			
		||||
#include <string.h>
 | 
			
		||||
#include <time.h>
 | 
			
		||||
#include <unistd.h>
 | 
			
		||||
 | 
			
		||||
#include "tmux.h"
 | 
			
		||||
@@ -50,9 +51,14 @@ int
 | 
			
		||||
cmd_pipe_pane_exec(struct cmd *self, struct cmd_ctx *ctx)
 | 
			
		||||
{
 | 
			
		||||
	struct cmd_target_data	*data = self->data;
 | 
			
		||||
	struct client		*c;
 | 
			
		||||
	struct window_pane	*wp;
 | 
			
		||||
	char			*command;
 | 
			
		||||
	int			 old_fd, pipe_fd[2], null_fd, mode;
 | 
			
		||||
 | 
			
		||||
	if ((c = cmd_find_client(ctx, data->target)) == NULL)
 | 
			
		||||
		return (-1);
 | 
			
		||||
 | 
			
		||||
	if (cmd_find_pane(ctx, data->target, NULL, &wp) == NULL)
 | 
			
		||||
		return (-1);
 | 
			
		||||
 | 
			
		||||
@@ -106,7 +112,8 @@ cmd_pipe_pane_exec(struct cmd *self, struct cmd_ctx *ctx)
 | 
			
		||||
		if (null_fd != STDOUT_FILENO && null_fd != STDERR_FILENO)
 | 
			
		||||
			close(null_fd);
 | 
			
		||||
 | 
			
		||||
		execl(_PATH_BSHELL, "sh", "-c", data->arg, (char *) NULL);
 | 
			
		||||
		command = status_replace(c, NULL, data->arg, time(NULL), 0);
 | 
			
		||||
		execl(_PATH_BSHELL, "sh", "-c", command, (char *) NULL);
 | 
			
		||||
		_exit(1);
 | 
			
		||||
	default:
 | 
			
		||||
		/* Parent process. */
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user