X-Git-Url: http://deadsoftware.ru/gitweb?a=blobdiff_plain;ds=sidebyside;f=main%2Fodcread.cc;h=e6e174899125370fffc9d2bb0ea337e972f3dd56;hb=65e6f1bfb5f2e513607f58e9b7653c3bd45b0dfc;hp=075671fadc1c9dddb39c74cc1b81c64f9d8639ed;hpb=cf88fc04686af2b4a34f9ccebc9f517cd83be491;p=odcread.git diff --git a/main/odcread.cc b/main/odcread.cc index 075671f..e6e1748 100644 --- a/main/odcread.cc +++ b/main/odcread.cc @@ -1,4 +1,4 @@ -#include "main/main.ih" +#include "main/module.ih" namespace odc { class Context { @@ -147,18 +147,20 @@ namespace odc { } int main(int argc, char *argv[]) { - if (argc < 2) { - return 1; - } - // Set the locale according to the terminal's environment setlocale(LC_ALL, ""); - std::ifstream in(argv[1], std::ios::in | std::ios::binary); odc::Store* s; try { - s = odc::importDocument(in); + if (argc < 2) { + s = odc::importDocument(std::cin); + } else if (argc = 2) { + std::ifstream in(argv[1], std::ios::in | std::ios::binary); + s = odc::importDocument(in); + } else { + return 1; + } } catch (int trap) { std::cerr << "Exception in parsing file: BlackBox trap no. " << trap << std::endl; return 2; @@ -169,6 +171,10 @@ int main(int argc, char *argv[]) { // std::cout << s->toPlainText() << std::endl; // std::cout << std::endl << std::endl; + if (s == nullptr) { + return 1; + } + try { odc::MyVisitor visitor; s->accept(visitor);