From df7626a022707509bc55300d28c3f0878d622c48 Mon Sep 17 00:00:00 2001 From: Marius Kintel Date: Sun, 16 Oct 2011 17:50:55 +0200 Subject: Modified to write to explicit filename diff --git a/tests/echotest.cc b/tests/echotest.cc index 4811c7c..c53e47f 100644 --- a/tests/echotest.cc +++ b/tests/echotest.cc @@ -41,6 +41,7 @@ #include #include #include +#include using std::string; @@ -49,22 +50,29 @@ QString currentdir; QString examplesdir; QString librarydir; -static void stdout_handler(const QString &msg, void *userdata) { - std::cout << msg.toUtf8().data() << std::endl; +static void outfile_handler(const QString &msg, void *userdata) { + std::ostream *str = static_cast(userdata); + *str << msg.toUtf8().data() << std::endl; } int main(int argc, char **argv) { - if (argc != 2) { - fprintf(stderr, "Usage: %s \n", argv[0]); + if (argc != 3) { + fprintf(stderr, "Usage: %s \n", argv[0]); exit(1); } const char *filename = argv[1]; + const char *outfile = argv[2]; int rc = 0; - set_output_handler(&stdout_handler, NULL); + std::ofstream ofile(outfile); + if (!ofile.good()) { + std::cerr << "Unable to open output file\n"; + return 0; + } + set_output_handler(&outfile_handler, &ofile); initialize_builtin_functions(); initialize_builtin_modules(); @@ -144,5 +152,6 @@ int main(int argc, char **argv) destroy_builtin_functions(); destroy_builtin_modules(); + ofile.close(); return rc; } -- cgit v0.10.1