]> git.tdb.fi Git - libs/datafile.git/blobdiff - tool/tool.cpp
Preserve source declarations when transferring a collection
[libs/datafile.git] / tool / tool.cpp
index 59c5cbcb1df30f33a6263697e216a2fb26719e38..5469106f50322b7497ea9626c5a4b2400187aa1c 100644 (file)
@@ -15,12 +15,14 @@ DataTool::DataTool(int argc, char **argv):
        binary(false),
        compile(false),
        float_size(0),
-       compress(false)
+       compress(false),
+       debug(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('g', "debug", debug, GetOpt::NO_ARG);
        getopt.add_option('o', "output", out_fn, GetOpt::REQUIRED_ARG);
        getopt.add_option('z', "compress", compress, GetOpt::NO_ARG);
        getopt(argc, argv);
@@ -52,8 +54,8 @@ void DataTool::do_transfer()
 
                while(parser)
                {
-                       DataFile::Statement st = parser.parse();
-                       if(st.valid)
+                       DataFile::Statement st = parser.parse(true);
+                       if(st.valid && (st.keyword.compare(0, 2, "__") || st.keyword=="__src" || debug))
                                writer->write(st);
                }