aboutsummaryrefslogtreecommitdiffhomepage
path: root/io.cpp
diff options
context:
space:
mode:
authorGravatar Cheer Xiao <xiaqqaix@gmail.com>2013-01-09 15:49:12 +0800
committerGravatar Cheer Xiao <xiaqqaix@gmail.com>2013-01-17 14:58:53 +0800
commit165068c81d723c78cc3f82662082b263608bceb2 (patch)
tree79e3cc3cf383c9f94db7c6ec2fd95900433c27cc /io.cpp
parent89993e9cbf95b55c941183f4db6ef41e4ce30029 (diff)
Put io_data_t detail printing in virtual io_data_t::print
Diffstat (limited to 'io.cpp')
-rw-r--r--io.cpp41
1 files changed, 23 insertions, 18 deletions
diff --git a/io.cpp b/io.cpp
index 6a304014..42c55f9f 100644
--- a/io.cpp
+++ b/io.cpp
@@ -51,6 +51,28 @@ Utilities for io redirection.
#include "io.h"
+void io_data_t::print() const
+{
+ switch (io_mode)
+ {
+ case IO_FILE:
+ fprintf(stderr, "file (%s)\n", filename_cstr);
+ break;
+ case IO_PIPE:
+ fprintf(stderr, "pipe {%d, %d}\n", param1.pipe_fd[0], param1.pipe_fd[1]);
+ break;
+ case IO_FD:
+ fprintf(stderr, "FD map %d -> %d\n", param1.old_fd, fd);
+ break;
+ case IO_BUFFER:
+ fprintf(stderr, "buffer %p (size %lu)\n", out_buffer_ptr(), out_buffer_size());
+ break;
+ case IO_CLOSE:
+ fprintf(stderr, "close %d\n", fd);
+ break;
+ }
+}
+
void io_buffer_read(io_data_t *d)
{
exec_close(d->param1.pipe_fd[1]);
@@ -195,24 +217,7 @@ void io_print(const io_chain_t &chain)
{
const shared_ptr<const io_data_t> &io = chain.at(i);
fprintf(stderr, "\t%lu: fd:%d, input:%s, ", (unsigned long)i, io->fd, io->is_input ? "yes" : "no");
- switch (io->io_mode)
- {
- case IO_FILE:
- fprintf(stderr, "file (%s)\n", io->filename_cstr);
- break;
- case IO_PIPE:
- fprintf(stderr, "pipe {%d, %d}\n", io->param1.pipe_fd[0], io->param1.pipe_fd[1]);
- break;
- case IO_FD:
- fprintf(stderr, "FD map %d -> %d\n", io->param1.old_fd, io->fd);
- break;
- case IO_BUFFER:
- fprintf(stderr, "buffer %p (size %lu)\n", io->out_buffer_ptr(), io->out_buffer_size());
- break;
- case IO_CLOSE:
- fprintf(stderr, "close %d\n", io->fd);
- break;
- }
+ io->print();
}
}