]> git.tdb.fi Git - libs/datafile.git/blobdiff - tool/tool.cpp
Fix some minor mistakes
[libs/datafile.git] / tool / tool.cpp
index 570d85b14bcc6ca1382cf428a536ce81f1bb7490..b816ee33cd1e8d916d65c2b7d9315a7d8773db70 100644 (file)
@@ -15,12 +15,16 @@ DataTool::DataTool(int argc, char **argv):
        in_fn("-"),
        out_fn("-"),
        binary(false),
-       compile(false)
+       compile(false),
+       float_size(0),
+       compress(false)
 {
        GetOpt getopt;
        getopt.add_option('b', "binary", binary, GetOpt::NO_ARG);
        getopt.add_option('c', "compile", compile, GetOpt::NO_ARG);
+       getopt.add_option('f', "float-size", float_size, GetOpt::REQUIRED_ARG);
        getopt.add_option('o', "output", out_fn, GetOpt::REQUIRED_ARG);
+       getopt.add_option('z', "compress", compress, GetOpt::NO_ARG);
        getopt(argc, argv);
 
        const vector<string> &args = getopt.get_args();
@@ -47,8 +51,12 @@ int DataTool::main()
                DataFile::Parser parser(in_buf, in_fn);
                IO::Buffered out_buf(*out);
                DataFile::Writer writer(out_buf);
+               if(compress)
+                       writer.set_compressed();
                if(binary)
                        writer.set_binary(true);
+               if(float_size)
+                       writer.set_float_precision(float_size);
 
                if(compile)
                {
@@ -76,5 +84,3 @@ int DataTool::main()
 
        return 0;
 }
-
-Application::RegApp<DataTool> DataTool::reg;