| 590 | } |
| 591 | |
| 592 | void Converter::cnvExifArray(const char* from, const char* to) { |
| 593 | auto pos = exifData_->findKey(ExifKey(from)); |
| 594 | if (pos == exifData_->end()) |
| 595 | return; |
| 596 | if (!prepareXmpTarget(to)) |
| 597 | return; |
| 598 | for (size_t i = 0; i < pos->count(); ++i) { |
| 599 | std::string value = pos->toString(i); |
| 600 | if (!pos->value().ok()) { |
| 601 | #ifndef SUPPRESS_WARNINGS |
| 602 | EXV_WARNING << "Failed to convert " << from << " to " << to << "\n"; |
| 603 | #endif |
| 604 | return; |
| 605 | } |
| 606 | (*xmpData_)[to] = value; |
| 607 | } |
| 608 | if (erase_) |
| 609 | exifData_->erase(pos); |
| 610 | } |
| 611 | |
| 612 | void Converter::cnvExifDate(const char* from, const char* to) { |
| 613 | auto pos = exifData_->findKey(ExifKey(from)); |