diff --git a/src/actions.cpp b/src/actions.cpp index e9984c99..20c0a5be 100644 --- a/src/actions.cpp +++ b/src/actions.cpp @@ -623,6 +623,11 @@ namespace Action { << std::right << std::hex << md.tag(); } + if (Params::instance().printItems_ & Params::prSet) { + if (!first) std::cout << " "; + first = false; + std::cout << "set" ; + } if (Params::instance().printItems_ & Params::prGroup) { if (!first) std::cout << " "; first = false; diff --git a/src/exiv2.cpp b/src/exiv2.cpp index ca5da266..9878f5c1 100644 --- a/src/exiv2.cpp +++ b/src/exiv2.cpp @@ -610,6 +610,7 @@ int Params::evalPrintFlags(const std::string& optarg) case 'v': printItems_ |= prValue; break; case 't': printItems_ |= prTrans; break; case 'h': printItems_ |= prHex; break; + case 'V': printItems_ |= prSet|prValue;break; default: std::cerr << progname() << ": " << _("Unrecognized print item") << " `" << optarg[i] << "'\n"; @@ -1096,14 +1097,15 @@ namespace { for ( ; filename != end; ++filename) { try { std::ifstream file(filename->c_str()); - if (!file) { + bool bStdin = filename->compare("-")== 0; + if (!file && !bStdin) { std::cerr << *filename << ": " << _("Failed to open command file for reading\n"); return false; } int num = 0; std::string line; - while (std::getline(file, line)) { + while (std::getline(bStdin? std::cin : file, line)) { ModifyCmd modifyCmd; if (parseLine(modifyCmd, line, ++num)) { modifyCmds.push_back(modifyCmd); diff --git a/src/exiv2app.hpp b/src/exiv2app.hpp index bd6b5517..7dc9fef2 100644 --- a/src/exiv2app.hpp +++ b/src/exiv2app.hpp @@ -165,7 +165,8 @@ public: prSize = 128, prValue = 256, prTrans = 512, - prHex = 1024 + prHex = 1024, + prSet = 2048 }; //! Enumerates common targets, bitmap