X-Git-Url: https://deadsoftware.ru/gitweb?a=blobdiff_plain;f=main%2Fodcread.cc;h=a2a2bd57dca6ec919de8e4918e6916460049a9c0;hb=HEAD;hp=9a7f95af5a2a17e27d6275da53e298c16e927252;hpb=816241afc2a91e54e86b4534ce5264f11d229dc6;p=odcread.git diff --git a/main/odcread.cc b/main/odcread.cc index 9a7f95a..5dc5b42 100644 --- a/main/odcread.cc +++ b/main/odcread.cc @@ -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 == NULL) { + return 1; + } + try { odc::MyVisitor visitor; s->accept(visitor);