diff options
Diffstat (limited to 'reader.cpp')
-rw-r--r-- | reader.cpp | 18 |
1 files changed, 10 insertions, 8 deletions
@@ -940,7 +940,7 @@ static void run_pager( const wcstring &prefix, int is_quoted, const std::vector< wcstring msg; wcstring prefix_esc; char *foo; - io_data_t *in; + wchar_t *escaped_separator; int has_case_sensitive=0; @@ -958,7 +958,7 @@ static void run_pager( const wcstring &prefix, int is_quoted, const std::vector< is_quoted?L"-q":L"", prefix_esc.c_str() ); - in= io_buffer_create( 1 ); + io_data_t *in = io_buffer_create(true); in->fd = 3; escaped_separator = escape( COMPLETE_SEP_STR, 1); @@ -1040,12 +1040,14 @@ static void run_pager( const wcstring &prefix, int is_quoted, const std::vector< term_donate(); - io_data_t *out = io_buffer_create( 0 ); - out->next = in; + io_data_t *out = io_buffer_create( false ); out->fd = 4; parser_t &parser = parser_t::principal_parser(); - parser.eval( cmd, out, TOP); + io_chain_t io_chain; + io_chain.push_back(out); + io_chain.push_back(in); + parser.eval( cmd, io_chain, TOP); term_steal(); io_buffer_read( out ); @@ -2062,7 +2064,7 @@ void reader_run_command( parser_t &parser, const wchar_t *cmd ) gettimeofday(&time_before, NULL); - parser.eval( cmd, 0, TOP ); + parser.eval( cmd, io_chain_t(), TOP ); job_reap( 1 ); gettimeofday(&time_after, NULL); @@ -3199,7 +3201,7 @@ int reader_search_mode() the prompt, using syntax highlighting. This is used for reading scripts and init files. */ -static int read_ni( int fd, io_data_t *io ) +static int read_ni( int fd, const io_chain_t &io ) { parser_t &parser = parser_t::principal_parser(); FILE *in_stream; @@ -3296,7 +3298,7 @@ static int read_ni( int fd, io_data_t *io ) return res; } -int reader_read( int fd, io_data_t *io ) +int reader_read( int fd, const io_chain_t &io ) { int res; |