diff options
author | Cheer Xiao <xiaqqaix@gmail.com> | 2013-01-15 16:44:31 +0800 |
---|---|---|
committer | Cheer Xiao <xiaqqaix@gmail.com> | 2013-01-17 15:55:05 +0800 |
commit | a20e0b9e2eb25b16e8416ac7758c2da0216dc6d8 (patch) | |
tree | 44a338bf17cc9b55ea454896419a8cd732f22753 /io.cpp | |
parent | 4b6bd7cae5e731f8e2bafeabca59e5aaabd6749d (diff) |
Split out io_buffer_t, make input_redirect in exec() a raw pointer
Diffstat (limited to 'io.cpp')
-rw-r--r-- | io.cpp | 18 |
1 files changed, 9 insertions, 9 deletions
@@ -58,9 +58,6 @@ void io_data_t::print() const case IO_PIPE: fprintf(stderr, "pipe {%d, %d}\n", param1.pipe_fd[0], param1.pipe_fd[1]); break; - case IO_BUFFER: - fprintf(stderr, "buffer %p (size %lu)\n", out_buffer_ptr(), out_buffer_size()); - break; } } @@ -79,7 +76,12 @@ void io_file_t::print() const fprintf(stderr, "file (%s)\n", filename_cstr); } -void io_buffer_read(io_data_t *d) +void io_buffer_t::print() const +{ + fprintf(stderr, "buffer %p (size %lu)\n", out_buffer_ptr(), out_buffer_size()); +} + +void io_buffer_read(io_buffer_t *d) { exec_close(d->param1.pipe_fd[1]); @@ -128,14 +130,12 @@ void io_buffer_read(io_data_t *d) } -io_data_t *io_buffer_create(bool is_input) +io_buffer_t *io_buffer_create(bool is_input) { bool success = true; - io_data_t *buffer_redirect = new io_data_t; + io_buffer_t *buffer_redirect = new io_buffer_t(is_input ? 0 : 1); buffer_redirect->out_buffer_create(); - buffer_redirect->io_mode = IO_BUFFER; buffer_redirect->is_input = is_input ? true : false; - buffer_redirect->fd=is_input?0:1; if (exec_pipe(buffer_redirect->param1.pipe_fd) == -1) { @@ -161,7 +161,7 @@ io_data_t *io_buffer_create(bool is_input) return buffer_redirect; } -void io_buffer_destroy(const shared_ptr<io_data_t> &io_buffer) +void io_buffer_destroy(const shared_ptr<io_buffer_t> &io_buffer) { /** |