#1021. Thank You Thomas for reporting this and the patch.
This commit is contained in:
parent
97aa1149c9
commit
b59768df7d
@ -149,6 +149,15 @@ namespace {
|
||||
exists and shouldn't be overwritten, else 0.
|
||||
*/
|
||||
int dontOverwrite(const std::string& path);
|
||||
|
||||
/*!
|
||||
@brief Output a text with a given minimum number of chars, honoring
|
||||
multi-byte characters correctly. Replace code in the form
|
||||
os << setw(width) << myString
|
||||
with
|
||||
os << make_pair( myString, width)
|
||||
*/
|
||||
std::ostream& operator<<( std::ostream& os, std::pair< const std::string&, unsigned int> strAndWidth);
|
||||
}
|
||||
|
||||
// *****************************************************************************
|
||||
@ -443,8 +452,8 @@ namespace Action {
|
||||
if (Params::instance().files_.size() > 1) {
|
||||
std::cout << std::setw(20) << path_ << " ";
|
||||
}
|
||||
std::cout << std::setw(align_)
|
||||
<< label << ": ";
|
||||
std::cout << std::make_pair( label, align_)
|
||||
<< ": ";
|
||||
}
|
||||
|
||||
int Print::printTag(const Exiv2::ExifData& exifData,
|
||||
@ -2009,4 +2018,16 @@ namespace {
|
||||
return 0;
|
||||
}
|
||||
|
||||
std::ostream& operator<<( std::ostream& os, std::pair< const std::string&, unsigned int> strAndWidth)
|
||||
{
|
||||
const std::string& str( strAndWidth.first);
|
||||
unsigned int minChCount( strAndWidth.second);
|
||||
unsigned int count = mbstowcs( NULL, str.c_str(), 0); // returns 0xFFFFFFFF on error
|
||||
if( count < minChCount)
|
||||
{
|
||||
minChCount += str.size() - count;
|
||||
}
|
||||
return os << std::setw( minChCount) << str;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user