X-Git-Url: http://git.tdb.fi/?p=libs%2Fdatafile.git;a=blobdiff_plain;f=tool.cpp;h=68c0fdccff40fada878072df672d55a212db0238;hp=8ca4f746017a5466140fb292b57cd54644a0e31e;hb=6dd94a7fe90c6467024685fbac769067ddb74688;hpb=55592b9eeaff3d41e5f03b9c0c1566ed508f38a5 diff --git a/tool.cpp b/tool.cpp index 8ca4f74..68c0fdc 100644 --- a/tool.cpp +++ b/tool.cpp @@ -1,8 +1,9 @@ /* $Id$ */ -#include #include #include #include +#include +#include #include "source/parser.h" #include "source/statement.h" #include "source/writer.h" @@ -40,20 +41,22 @@ DataTool::DataTool(int argc, char **argv): int DataTool::main() { - istream *in; + IO::Base *in; if(in_fn=="-") - in=&cin; + throw Exception("stdin/out not supported at the moment"); else - in=new ifstream(in_fn.c_str()); + in=new IO::File(in_fn); - ostream *out; + IO::Base *out; if(out_fn=="-") - out=&cout; + throw Exception("stdin/out not supported at the moment"); else - out=new ofstream(out_fn.c_str()); + out=new IO::File(out_fn, IO::M_WRITE); - DataFile::Parser parser(*in, in_fn); - DataFile::Writer writer(*out); + IO::Buffered in_buf(*in); + DataFile::Parser parser(in_buf, in_fn); + IO::Buffered out_buf(*out); + DataFile::Writer writer(out_buf); if(binary) writer.set_binary(true); @@ -64,7 +67,7 @@ int DataTool::main() writer.write(st); } - if(out!=&cout) + //if(out!=&cout) delete out; return 0;