MCPcopy Create free account
hub / github.com/Exiv2/exiv2 / parsePreviewNumbers

Function parsePreviewNumbers

app/exiv2.cpp:1221–1253  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1219}
1220
1221int parsePreviewNumbers(Params::PreviewNumbers& previewNumbers, const std::string& optArg, int j) {
1222 size_t k = j;
1223 for (size_t i = j; i < optArg.size(); ++i) {
1224 std::ostringstream os;
1225 for (k = i; k < optArg.size() && isdigit(optArg[k]); ++k) {
1226 os << optArg[k];
1227 }
1228 if (k > i) {
1229 bool ok = false;
1230 auto num = Exiv2::stringTo<int>(os.str(), ok);
1231 if (ok && num >= 0) {
1232 previewNumbers.insert(num);
1233 } else {
1234 std::cerr << Params::instance().progname() << ": " << _("Invalid preview number") << ": " << num << "\n";
1235 }
1236 i = k;
1237 }
1238 if (k >= optArg.size() || optArg[i] != ',')
1239 break;
1240 }
1241 auto ret = static_cast<int>(k - j);
1242 if (ret == 0) {
1243 previewNumbers.insert(0);
1244 }
1245#ifdef DEBUG
1246 std::cout << "\nThe set now contains: ";
1247 for (auto&& number : previewNumbers) {
1248 std::cout << number << ", ";
1249 }
1250 std::cout << std::endl;
1251#endif
1252 return static_cast<int>(k - j);
1253} // parsePreviewNumbers
1254
1255bool parseCmdFiles(ModifyCmds& modifyCmds, const Params::CmdFiles& cmdFiles) {
1256 for (auto&& filename : cmdFiles) {

Callers 1

parseCommonTargetsFunction · 0.85

Calls 1

sizeMethod · 0.45

Tested by

no test coverage detected