Removed trailing whitespace.

v0.27.3
Andreas Huggel 17 years ago
parent 7cfdc74d48
commit b759193273

@ -261,7 +261,7 @@ namespace Action {
std::cout << buf.st_size << " " << _("Bytes") << std::endl;
}
// MIME type
// MIME type
printLabel(_("MIME type"));
std::cout << image->mimeType() << "\n";
@ -1358,7 +1358,7 @@ namespace Action {
else {
std::cerr << _("Warning") << ": " << modifyCmd.key_ << ": "
<< _("Failed to read") << " "
<< Exiv2::TypeInfo::typeName(value->typeId())
<< Exiv2::TypeInfo::typeName(value->typeId())
<< " " << _("value")
<< " \"" << modifyCmd.value_ << "\"\n";
}
@ -1399,7 +1399,7 @@ namespace Action {
void Modify::regNamespace(const ModifyCmd& modifyCmd)
{
if (Params::instance().verbose_) {
std::cout << _("Reg ") << modifyCmd.key_ << "=\""
std::cout << _("Reg ") << modifyCmd.key_ << "=\""
<< modifyCmd.value_ << "\"" << std::endl;
}
// Registration has been done immediately after parsing the command.
@ -1888,11 +1888,11 @@ namespace {
return 0;
} // renameFile
std::string newFilePath(const std::string& path, const std::string& ext)
std::string newFilePath(const std::string& path, const std::string& ext)
{
std::string directory = Params::instance().directory_;
if (directory.empty()) directory = Util::dirname(path);
std::string newPath = directory + EXV_SEPERATOR_STR
std::string newPath = directory + EXV_SEPERATOR_STR
+ Util::basename(path, true) + ext;
return newPath;
}

@ -80,13 +80,13 @@ namespace Exiv2 {
#ifdef DEBUG
std::cerr << "Exiv2::BmpImage::readMetadata: Reading Windows bitmap file " << io_->path() << "\n";
#endif
if (io_->open() != 0)
if (io_->open() != 0)
{
throw Error(9, io_->path(), strError());
}
IoCloser closer(*io_);
// Ensure that this is the correct image type
if (!isBmpType(*io_, false))
if (!isBmpType(*io_, false))
{
if (io_->error() || io_->eof()) throw Error(14);
throw Error(3, "BMP");
@ -95,7 +95,7 @@ namespace Exiv2 {
/*
The Windows bitmap header goes as follows -- all numbers are in little-endian byte order:
offset length name description
====== ======= ===================== =======
0 2 bytes signature always 'BM'
@ -133,7 +133,7 @@ namespace Exiv2 {
Image::AutoPtr newBmpInstance(BasicIo::AutoPtr io, bool /*create*/)
{
Image::AutoPtr image(new BmpImage(io));
if (!image->good())
if (!image->good())
{
image.reset();
}
@ -146,12 +146,12 @@ namespace Exiv2 {
const unsigned char BmpImageId[2] = { 'B', 'M' };
byte buf[len];
iIo.read(buf, len);
if (iIo.error() || iIo.eof())
if (iIo.error() || iIo.eof())
{
return false;
}
bool matched = (memcmp(buf, BmpImageId, len) == 0);
if (!advance || !matched)
if (!advance || !matched)
{
iIo.seek(-len, BasicIo::cur);
}

@ -243,7 +243,7 @@ namespace Exiv2 {
{ 6, N_("Medium 2") },
{ 7, N_("Medium 3") }
};
//! EasyMode, tag 0x000b
extern const TagDetails canonCsEasyMode[] = {
{ 0, N_("Full auto") },

@ -550,7 +550,7 @@ namespace Exiv2 {
else { // "Exif.GPSInfo.GPSTimeStamp"
bool ok = true;
if (pos->value().count() != 3) ok = false;
if (pos->value().count() != 3) ok = false;
if (ok) {
for (int i = 0; i < 3; ++i) {
if (pos->value().toRational(i).second == 0) {
@ -891,7 +891,7 @@ namespace Exiv2 {
}
std::ostringstream array;
array << static_cast<int>(value[0]) << " "
array << static_cast<int>(value[0]) << " "
<< static_cast<int>(value[1]) << " "
<< static_cast<int>(value[2]) << " "
<< static_cast<int>(value[3]);
@ -1282,7 +1282,7 @@ namespace {
if ( pos->value().ok()
&& value.length() > 5 && value.substr(0, 5) == "lang=") {
std::string::size_type pos = value.find_first_of(' ');
if (pos != std::string::npos) {
if (pos != std::string::npos) {
value = value.substr(pos + 1);
}
else {

@ -85,12 +85,12 @@ namespace Exiv2 {
*/
void writeMetadata();
/*!
@brief Todo: Not supported yet, requires writeMetadata(). Calling
@brief Todo: Not supported yet, requires writeMetadata(). Calling
this function will throw an Error(32).
*/
void setExifData(const ExifData& exifData);
/*!
@brief Todo: Not supported yet, requires writeMetadata(). Calling
@brief Todo: Not supported yet, requires writeMetadata(). Calling
this function will throw an Error(32).
*/
void setIptcData(const IptcData& iptcData);

@ -306,7 +306,7 @@ namespace Exiv2 {
void ExifThumb::setJpegThumbnail(
const std::string& path,
URational xres,
URational xres,
URational yres,
uint16_t unit
)

@ -252,7 +252,7 @@ namespace Exiv2 {
of the Exif data. These methods do not write to the Exif metadata.
Manipulators are provided in subclass ExifThumb.
@note Various other preview and thumbnail images may be contained in an
@note Various other preview and thumbnail images may be contained in an
image, depending on its format and the camera make and model. This
class only provides access to the Exif thumbnail as specified in the
Exif standard.
@ -306,7 +306,7 @@ namespace Exiv2 {
embedded in IFD1 of the Exif data. Accessors are provided by the
base class, ExifThumbC.
@note Various other preview and thumbnail images may be contained in an
@note Various other preview and thumbnail images may be contained in an
image, depending on its format and the camera make and model. This
class only provides access to the Exif thumbnail as specified in the
Exif standard.
@ -340,7 +340,7 @@ namespace Exiv2 {
*/
void setJpegThumbnail(
const std::string& path,
URational xres,
URational xres,
URational yres,
uint16_t unit
);

@ -144,7 +144,7 @@ int main(int argc, char* const argv[])
int n = 1;
int s = static_cast<int>(params.files_.size());
int w = s > 9 ? s > 99 ? 3 : 2 : 1;
for (Params::Files::const_iterator i = params.files_.begin();
for (Params::Files::const_iterator i = params.files_.begin();
i != params.files_.end(); ++i) {
if (params.verbose_) {
std::cout << _("File") << " " << std::setw(w) << std::right << n++ << "/" << s << ": "
@ -168,7 +168,7 @@ Params* Params::instance_ = 0;
const Params::YodAdjust Params::emptyYodAdjust_[] = {
{ false, "-Y", 0 },
{ false, "-O", 0 },
{ false, "-D", 0 },
{ false, "-D", 0 },
};
Params& Params::instance()
@ -356,8 +356,8 @@ int Params::evalRename(int opt, const std::string& optarg)
case Action::none:
action_ = Action::rename;
switch (opt) {
case 'r':
format_ = optarg;
case 'r':
format_ = optarg;
formatSet_ = true;
break;
case 't': timestamp_ = true; break;
@ -370,7 +370,7 @@ int Params::evalRename(int opt, const std::string& optarg)
<< ": " << _("Ignoring surplus option") << " -r \"" << optarg << "\"\n";
}
else {
format_ = optarg;
format_ = optarg;
formatSet_ = true;
}
break;

@ -80,13 +80,13 @@ namespace Exiv2 {
#ifdef DEBUG
std::cerr << "Exiv2::GifImage::readMetadata: Reading GIF file " << io_->path() << "\n";
#endif
if (io_->open() != 0)
if (io_->open() != 0)
{
throw Error(9, io_->path(), strError());
}
IoCloser closer(*io_);
// Ensure that this is the correct image type
if (!isGifType(*io_, true))
if (!isGifType(*io_, true))
{
if (io_->error() || io_->eof()) throw Error(14);
throw Error(3, "GIF");
@ -112,7 +112,7 @@ namespace Exiv2 {
Image::AutoPtr newGifInstance(BasicIo::AutoPtr io, bool /*create*/)
{
Image::AutoPtr image(new GifImage(io));
if (!image->good())
if (!image->good())
{
image.reset();
}
@ -126,13 +126,13 @@ namespace Exiv2 {
const unsigned char Gif89aId[8] = { 'G', 'I', 'F', '8', '9', 'a' };
byte buf[len];
iIo.read(buf, len);
if (iIo.error() || iIo.eof())
if (iIo.error() || iIo.eof())
{
return false;
}
bool matched = (memcmp(buf, Gif87aId, len) == 0)
bool matched = (memcmp(buf, Gif87aId, len) == 0)
|| (memcmp(buf, Gif89aId, len) == 0);
if (!advance || !matched)
if (!advance || !matched)
{
iIo.seek(-len, BasicIo::cur);
}

@ -108,7 +108,7 @@ namespace Exiv2 {
return imageType == imageType_;
}
Image::Image(int imageType,
Image::Image(int imageType,
uint16_t supportedMetadata,
BasicIo::AutoPtr io)
: io_(io),
@ -118,7 +118,7 @@ namespace Exiv2 {
supportedMetadata_(supportedMetadata),
#ifdef EXV_HAVE_XMP_TOOLKIT
writeXmpFromPacket_(false),
#else
#else
writeXmpFromPacket_(true),
#endif
byteOrder_(invalidByteOrder)
@ -190,7 +190,7 @@ namespace Exiv2 {
void Image::writeXmpFromPacket(bool flag)
{
#ifdef EXV_HAVE_XMP_TOOLKIT
writeXmpFromPacket_ = flag;
writeXmpFromPacket_ = flag;
#endif
}

@ -77,10 +77,10 @@ namespace Exiv2 {
//@{
/*!
@brief Constructor taking the image type, a bitmap of the supported
metadata types and an auto-pointer that owns an IO instance.
metadata types and an auto-pointer that owns an IO instance.
See subclass constructor doc.
*/
Image(int imageType,
Image(int imageType,
uint16_t supportedMetadata,
BasicIo::AutoPtr io);
//! Virtual Destructor
@ -142,8 +142,8 @@ namespace Exiv2 {
@brief Assign a raw XMP packet. The new XMP packet is not written
to the image until the writeMetadata() method is called.
Subsequent calls to writeMetadata() write the XMP packet from
the buffered raw XMP packet rather than from buffered parsed XMP
Subsequent calls to writeMetadata() write the XMP packet from
the buffered raw XMP packet rather than from buffered parsed XMP
data. In order to write from parsed XMP data again, use
either writeXmpFromPacket(false) or setXmpData().
@ -154,10 +154,10 @@ namespace Exiv2 {
@brief Erase the buffered XMP packet. XMP data is not removed from
the actual image until the writeMetadata() method is called.
This has the same effect as clearXmpData() but operates on the
This has the same effect as clearXmpData() but operates on the
buffered raw XMP packet only, not the parsed XMP data.
Subsequent calls to writeMetadata() write the XMP packet from
Subsequent calls to writeMetadata() write the XMP packet from
the buffered raw XMP packet rather than from buffered parsed XMP
data. In order to write from parsed XMP data again, use
either writeXmpFromPacket(false) or setXmpData().
@ -169,7 +169,7 @@ namespace Exiv2 {
Subsequent calls to writeMetadata() encode the XMP data to
a raw XMP packet and write the newly encoded packet to the image.
In the process, the buffered raw XMP packet is updated.
In the process, the buffered raw XMP packet is updated.
In order to write directly from the raw XMP packet, use
writeXmpFromPacket(true) or setXmpPacket().
@ -180,7 +180,7 @@ namespace Exiv2 {
@brief Erase any buffered XMP data. XMP data is not removed from
the actual image until the writeMetadata() method is called.
This has the same effect as clearXmpPacket() but operates on the
This has the same effect as clearXmpPacket() but operates on the
buffered parsed XMP data.
Subsequent calls to writeMetadata() encode the XMP data to
@ -260,11 +260,11 @@ namespace Exiv2 {
XMP from the buffered raw XMP packet or from parsed XMP data.
The default is to write from parsed XMP data. The switch is also
set by all functions to set and clear the buffered raw XMP packet
and parsed XMP data, so using this function should usually not be
and parsed XMP data, so using this function should usually not be
necessary.
If %Exiv2 was compiled without XMP support, the default for this
flag is true and it will never be changed in order to preserve
If %Exiv2 was compiled without XMP support, the default for this
flag is true and it will never be changed in order to preserve
access to the raw XMP packet.
*/
void writeXmpFromPacket(bool flag);

@ -115,13 +115,13 @@ namespace Exiv2 {
#ifdef DEBUG
std::cerr << "Exiv2::Jp2Image::readMetadata: Reading JPEG-2000 file " << io_->path() << "\n";
#endif
if (io_->open() != 0)
if (io_->open() != 0)
{
throw Error(9, io_->path(), strError());
}
IoCloser closer(*io_);
// Ensure that this is the correct image type
if (!isJp2Type(*io_, true))
if (!isJp2Type(*io_, true))
{
if (io_->error() || io_->eof()) throw Error(14);
throw Error(3, "JPEG-2000");
@ -240,7 +240,7 @@ namespace Exiv2 {
Image::AutoPtr newJp2Instance(BasicIo::AutoPtr io, bool /*create*/)
{
Image::AutoPtr image(new Jp2Image(io));
if (!image->good())
if (!image->good())
{
image.reset();
}
@ -254,12 +254,12 @@ namespace Exiv2 {
const unsigned char Jp2Header[len] = { 0x00, 0x00, 0x00, 0x0c, 0x6a, 0x50, 0x20, 0x20, 0x0d, 0x0a, 0x87, 0x0a };
byte buf[len];
iIo.read(buf, len);
if (iIo.error() || iIo.eof())
if (iIo.error() || iIo.eof())
{
return false;
}
bool matched = (memcmp(buf, Jp2Header, len) == 0);
if (!advance || !matched)
if (!advance || !matched)
{
iIo.seek(-len, BasicIo::cur);
}

@ -137,7 +137,7 @@ namespace Exiv2 {
return -2;
}
#ifndef DEBUG
if ( (dataSize & 1)
if ( (dataSize & 1)
&& position + dataSize == static_cast<uint32_t>(sizePsData)) {
std::cerr << "Warning: "
<< "Photoshop IRB data is not padded to even size\n";
@ -212,7 +212,7 @@ namespace Exiv2 {
}
// Write existing stuff after record, data is rounded to be even.
const uint32_t sizeOldData = sizeHdr + sizeIptc + (sizeIptc & 1);
// Note: Because of the rounding, sizeFront + sizeOldData can be
// Note: Because of the rounding, sizeFront + sizeOldData can be
// _greater_ than sizePsData by 1 (not just equal), if the original
// data was not padded.
if (static_cast<uint32_t>(sizePsData) > sizeFront + sizeOldData) {
@ -403,7 +403,7 @@ namespace Exiv2 {
}
else if ( pixelHeight_ == 0
&& ( marker == sof0_ || marker == sof1_ || marker == sof2_
|| marker == sof3_ || marker == sof5_ || marker == sof6_
|| marker == sof3_ || marker == sof5_ || marker == sof6_
|| marker == sof7_ || marker == sof9_ || marker == sof10_
|| marker == sof11_ || marker == sof13_ || marker == sof14_
|| marker == sof15_)) {

@ -140,10 +140,10 @@ namespace Exiv2 {
valid image of the calling subclass.
@param dataSize Size of initData in bytes.
*/
JpegBase(int type,
BasicIo::AutoPtr io,
JpegBase(int type,
BasicIo::AutoPtr io,
bool create,
const byte initData[],
const byte initData[],
long dataSize);
//@}

@ -212,7 +212,7 @@ namespace Exiv2 {
@brief Return the <EM>n</EM>-th component of the value converted to
a string. The behaviour of the method is undefined if there
is no <EM>n</EM>-th component.
*/
*/
virtual std::string toString(long n) const =0;
/*!
@brief Return the <EM>n</EM>-th component of the value converted to long.

@ -85,12 +85,12 @@ namespace Exiv2 {
*/
void writeMetadata();
/*!
@brief Todo: Not supported yet, requires writeMetadata(). Calling
@brief Todo: Not supported yet, requires writeMetadata(). Calling
this function will throw an Error(32).
*/
void setExifData(const ExifData& exifData);
/*!
@brief Todo: Not supported yet, requires writeMetadata(). Calling
@brief Todo: Not supported yet, requires writeMetadata(). Calling
this function will throw an Error(32).
*/
void setIptcData(const IptcData& iptcData);

@ -27,7 +27,7 @@ try {
Exiv2::ExifKey key("Exif.Minolta.ThumbnailOffset");
Exiv2::ExifData::const_iterator format = exifData.findKey(key);
if (format != exifData.end()) {
Exiv2::DataBuf buf = format->dataArea();

@ -85,12 +85,12 @@ namespace Exiv2 {
*/
void writeMetadata();
/*!
@brief Todo: Not supported yet, requires writeMetadata(). Calling
@brief Todo: Not supported yet, requires writeMetadata(). Calling
this function will throw an Error(32).
*/
void setExifData(const ExifData& exifData);
/*!
@brief Todo: Not supported yet, requires writeMetadata(). Calling
@brief Todo: Not supported yet, requires writeMetadata(). Calling
this function will throw an Error(32).
*/
void setIptcData(const IptcData& iptcData);

@ -625,7 +625,7 @@ namespace Exiv2 {
{ 4, N_("Vibrant") },
{ 5, N_("Monochrome") },
};
//! DynamicRangeExpansion, tag 0x0069
extern const TagDetails pentaxDynamicRangeExpansion[] = {
{ 0, N_("Off") },

@ -135,7 +135,7 @@ namespace Exiv2 {
DataBuf arr = parsePngChunk(pData, size, index, keysize);
#ifdef DEBUG
std::cerr << "Exiv2::PngChunk::decode: Found PNG chunk: "
std::cerr << "Exiv2::PngChunk::decode: Found PNG chunk: "
<< std::string((const char*)key) << " :: "
<< std::string((const char*)arr.pData_, 32) << "\n";
#endif
@ -360,7 +360,7 @@ namespace Exiv2 {
#endif
xmpPacket = xmpPacket.substr(idx);
}
if (XmpParser::decode(pImage->xmpData(), xmpPacket))
if (XmpParser::decode(pImage->xmpData(), xmpPacket))
{
#ifndef SUPPRESS_WARNINGS
std::cerr << "Warning: Failed to decode XMP metadata.\n";
@ -387,7 +387,7 @@ namespace Exiv2 {
#endif
xmpPacket = xmpPacket.substr(idx);
}
if (XmpParser::decode(pImage->xmpData(), xmpPacket))
if (XmpParser::decode(pImage->xmpData(), xmpPacket))
{
#ifndef SUPPRESS_WARNINGS
std::cerr << "Warning: Failed to decode XMP metadata.\n";
@ -489,8 +489,8 @@ namespace Exiv2 {
} // PngChunk::readRawProfile
void PngChunk::zlibUncompress(const byte* compressedText,
unsigned int compressedTextSize,
void PngChunk::zlibUncompress(const byte* compressedText,
unsigned int compressedTextSize,
DataBuf& arr)
{
uLongf uncompressedLen = compressedTextSize * 2; // just a starting point
@ -534,101 +534,101 @@ namespace Exiv2 {
/* TODO : code backported from digiKam. Not yet adapted and used.
void PngChunk::writeRawProfile(png_struct *ping,
png_info* ping_info,
char* profile_type,
char* profile_data,
void PngChunk::writeRawProfile(png_struct *ping,
png_info* ping_info,
char* profile_type,
char* profile_data,
png_uint_32 length)
{
png_textp text;
register long i;
uchar *sp;
png_charp dp;
png_uint_32 allocated_length, description_length;
const uchar hex[16] = {'0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f'};
DDebug() << "Writing Raw profile: type=" << profile_type << ", length=" << length << endl;
text = (png_textp) png_malloc(ping, (png_uint_32) sizeof(png_text));
description_length = std::strlen((const char *) profile_type);
allocated_length = (png_uint_32) (length*2 + (length >> 5) + 20 + description_length);
text[0].text = (png_charp) png_malloc(ping, allocated_length);
text[0].key = (png_charp) png_malloc(ping, (png_uint_32) 80);
text[0].key[0] = '\0';
concatenateString(text[0].key, "Raw profile type ", 4096);
concatenateString(text[0].key, (const char *) profile_type, 62);
sp = (uchar*)profile_data;
dp = text[0].text;
*dp++='\n';
copyString(dp, (const char *) profile_type, allocated_length);
dp += description_length;
*dp++='\n';
formatString(dp, allocated_length-strlen(text[0].text), "%8lu ", length);
dp += 8;
for (i=0; i < (long) length; i++)
{
if (i%36 == 0)
*dp++='\n';
*(dp++)=(char) hex[((*sp >> 4) & 0x0f)];
*(dp++)=(char) hex[((*sp++ ) & 0x0f)];
*(dp++)=(char) hex[((*sp++ ) & 0x0f)];
}
*dp++='\n';
*dp='\0';
text[0].text_length = (png_size_t) (dp-text[0].text);
text[0].compression = -1;
if (text[0].text_length <= allocated_length)
png_set_text(ping, ping_info,text, 1);
png_free(ping, text[0].text);
png_free(ping, text[0].key);
png_free(ping, text);
} // PngChunk::writeRawProfile
size_t PngChunk::concatenateString(char* destination,
const char* source,
size_t PngChunk::concatenateString(char* destination,
const char* source,
const size_t length)
{
register char *q;
register const char *p;
register size_t i;
size_t count;
if ( !destination || !source || length == 0 )
return 0;
p = source;
q = destination;
i = length;
while ((i-- != 0) && (*q != '\0'))
q++;
count = (size_t) (q-destination);
i = length-count;
if (i == 0)
return(count+strlen(p));
while (*p != '\0')
{
if (i != 1)
@ -638,61 +638,61 @@ namespace Exiv2 {
}
p++;
}
*q='\0';
return(count+(p-source));
} // PngChunk::concatenateString
size_t PngChunk::copyString(char* destination,
const char* source,
size_t PngChunk::copyString(char* destination,
const char* source,
const size_t length)
{
register char *q;
register const char *p;
register size_t i;
if ( !destination || !source || length == 0 )
return 0;
p = source;
q = destination;
i = length;
if ((i != 0) && (--i != 0))
{
do
{
if ((*q++=(*p++)) == '\0')
break;
}
}
while (--i != 0);
}
if (i == 0)
{
if (length != 0)
*q='\0';
while (*p++ != '\0');
}
return((size_t) (p-source-1));
} // PngChunk::copyString
long PngChunk::formatString(char* string,
const size_t length,
const char* format,
long PngChunk::formatString(char* string,
const size_t length,
const char* format,
...)
{
long n;
va_list operands;
va_start(operands,format);
n = (long) formatStringList(string, length, format, operands);
va_end(operands);
@ -700,20 +700,20 @@ namespace Exiv2 {
} // PngChunk::formatString
long PngChunk::formatStringList(char* string,
const size_t length,
const char* format,
long PngChunk::formatStringList(char* string,
const size_t length,
const char* format,
va_list operands)
{
int n = vsnprintf(string, length, format, operands);
if (n < 0)
string[length-1] = '\0';
return((long) n);
} // PngChunk::formatStringList
*/
} // namespace Exiv2
// *****************************************************************************

@ -83,16 +83,16 @@ namespace Exiv2 {
//@{
/*!
@brief Parse PNG chunk to determine type and extract content.
@brief Parse PNG chunk to determine type and extract content.
Supported Chunk types are tTXt, zTXt, and iTXt.
*/
static DataBuf parsePngChunk(const byte* pData,
long size,
long& index,
static DataBuf parsePngChunk(const byte* pData,
long size,
long& index,
int keysize);
/*!
@brief Parse PNG chunk contents to extract metadata container and assign it to image.
@brief Parse PNG chunk contents to extract metadata container and assign it to image.
Supported contents are:
Exif raw text profile generated by ImageMagick ==> Image Exif metadata.
Iptc raw text profile generated by ImageMagick ==> Image Iptc metadata.
@ -100,8 +100,8 @@ namespace Exiv2 {
Xmp packet generated by Adobe ==> Image Xmp metadata.
Description string ==> Image Comments.
*/
static void parseChunkContent(Image* pImage,
const byte* key,
static void parseChunkContent(Image* pImage,
const byte* key,
const DataBuf arr);
/*!
@ -112,30 +112,30 @@ namespace Exiv2 {
/*!
@brief Wrapper around zlib to uncompress a PNG chunk content.
*/
static void zlibUncompress(const byte* compressedText,
unsigned int compressedTextSize,
static void zlibUncompress(const byte* compressedText,
unsigned int compressedTextSize,
DataBuf& arr);
/* TODO : code backported from digiKam. Not yet adapted and used.
static DataBuf writeRawProfile(const DataBuf& text);
static size_t concatenateString(char* destination,
const char* source,
static size_t concatenateString(char* destination,
const char* source,
const size_t length);
static size_t copyString(char* destination,
const char* source,
static size_t copyString(char* destination,
const char* source,
const size_t length);
static long formatString(char* string,
const size_t length,
const char* format,
static long formatString(char* string,
const size_t length,
const char* format,
...);
static long formatStringList(char *string,
const size_t length,
const char *format,
static long formatStringList(char *string,
const size_t length,
const char *format,
va_list operands);*/
//@}

@ -88,17 +88,17 @@ namespace Exiv2 {
*/
void writeMetadata();
/*!
@brief Todo: Not supported yet, requires writeMetadata(). Calling
@brief Todo: Not supported yet, requires writeMetadata(). Calling
this function will throw an Error(32).
*/
void setExifData(const ExifData& exifData);
/*!
@brief Todo: Not supported yet, requires writeMetadata(). Calling
@brief Todo: Not supported yet, requires writeMetadata(). Calling
this function will throw an Error(32).
*/
void setIptcData(const IptcData& iptcData);
/*!
@brief Todo: Not supported yet, requires writeMetadata(). Calling
@brief Todo: Not supported yet, requires writeMetadata(). Calling
this function will throw an Error(32).
*/
void setComment(const std::string& comment);

@ -80,7 +80,7 @@ namespace Exiv2 {
{ "http://ns.adobe.com/tiff/1.0/", "tiff", xmpTiffInfo, N_("Exif Schema for TIFF Properties") },
{ "http://ns.adobe.com/exif/1.0/", "exif", xmpExifInfo, N_("Exif schema for Exif-specific Properties") },
{ "http://ns.adobe.com/exif/1.0/aux/", "aux", xmpAuxInfo, N_("Exif schema for Additional Exif Properties")},
{ "http://iptc.org/std/Iptc4xmpCore/1.0/xmlns/", "iptc", xmpIptcInfo, N_("IPTC Core schema") },
{ "http://iptc.org/std/Iptc4xmpCore/1.0/xmlns/", "iptc", xmpIptcInfo, N_("IPTC Core schema") },
// NOTE: 'Iptc4xmpCore' is just too long
// Structures
@ -587,7 +587,7 @@ namespace Exiv2 {
{ 0, 0, 0, invalidTypeId, xmpInternal, 0 }
};
extern const XmpPrintInfo xmpPrintInfo[] = {
extern const XmpPrintInfo xmpPrintInfo[] = {
{"Xmp.crs.CropUnits", EXV_PRINT_TAG(xmpCrsCropUnits)},
{"Xmp.exif.ApertureValue", print0x9202 },
{"Xmp.exif.BrightnessValue", printFloat },
@ -909,7 +909,7 @@ namespace Exiv2 {
}
std::string XmpKey::tagName() const
{
{
return p_->property_;
}

@ -66,7 +66,7 @@ namespace Exiv2 {
const char* name_; //!< Property name
const char* title_; //!< Property title or label
const char* xmpValueType_; //!< XMP value type (for info only)
TypeId typeId_; //!< Exiv2 default type for the property
TypeId typeId_; //!< Exiv2 default type for the property
XmpCategory xmpCategory_; //!< Category (internal or external)
const char* desc_; //!< Property description
};
@ -84,14 +84,14 @@ namespace Exiv2 {
struct XmpNsInfo {
//! For comparison with prefix
struct Prefix {
//! Constructor.
//! Constructor.
Prefix(const std::string& prefix);
//! The prefix string.
std::string prefix_;
};
//! For comparison with namespace
struct Ns {
//! Constructor.
//! Constructor.
Ns(const std::string& ns);
//! The namespace string
std::string ns_;
@ -120,14 +120,14 @@ namespace Exiv2 {
/*!
@brief Return the title (label) of the property.
@param key The property key
@return The title (label) of the property, 0 if the
@return The title (label) of the property, 0 if the
key is of an unknown property.
*/
static const char* propertyTitle(const XmpKey& key);
/*!
@brief Return the description of the property.
@param key The property key
@return The description of the property, 0 if the
@return The description of the property, 0 if the
key is of an unknown property.
*/
static const char* propertyDesc(const XmpKey& key);
@ -141,7 +141,7 @@ namespace Exiv2 {
/*!
@brief Return information for the property for key.
@param key The property key
@return A pointer to the property information, 0 if the
@return A pointer to the property information, 0 if the
key is of an unknown property.
*/
static const XmpPropertyInfo* propertyInfo(const XmpKey& key);
@ -164,7 +164,7 @@ namespace Exiv2 {
/*!
@brief Return read-only list of built-in properties for \em prefix.
@param prefix Prefix
@return Pointer to the built-in properties for prefix, may be 0 if
@return Pointer to the built-in properties for prefix, may be 0 if
none is configured in the namespace info.
@throw Error if no namespace is registered with \em prefix.
*/

@ -73,7 +73,7 @@ enum {
kPhotoshopResourceID_AlphaChannelsNames = 0x03ee, // as a series of Pstrings
kPhotoshopResourceID_DisplayInfo = 0x03ef, // see appendix A in Photoshop SDK
kPhotoshopResourceID_PStringCaption = 0x03f0, // [optional] the caption, as a Pstring
kPhotoshopResourceID_BorderInformation = 0x03f1, // border width and units
kPhotoshopResourceID_BorderInformation = 0x03f1, // border width and units
kPhotoshopResourceID_BackgroundColor = 0x03f2, // see additional Adobe information
kPhotoshopResourceID_PrintFlags = 0x03f3, // labels, crop marks, colour bars, ecc...
kPhotoshopResourceID_BWHalftoningInfo = 0x03f4, // Gray-scale and multich. half-toning info
@ -156,13 +156,13 @@ namespace Exiv2 {
#ifdef DEBUG
std::cerr << "Exiv2::PsdImage::readMetadata: Reading Photoshop file " << io_->path() << "\n";
#endif
if (io_->open() != 0)
if (io_->open() != 0)
{
throw Error(9, io_->path(), strError());
}
IoCloser closer(*io_);
// Ensure that this is the correct image type
if (!isPsdType(*io_, false))
if (!isPsdType(*io_, false))
{
if (io_->error() || io_->eof()) throw Error(14);
throw Error(3, "Photoshop");
@ -171,7 +171,7 @@ namespace Exiv2 {
/*
The Photoshop header goes as follows -- all numbers are in big-endian byte order:
offset length name description
====== ======= ========= =========
0 4 bytes signature always '8BPS'
@ -313,7 +313,7 @@ namespace Exiv2 {
Image::AutoPtr newPsdInstance(BasicIo::AutoPtr io, bool /*create*/)
{
Image::AutoPtr image(new PsdImage(io));
if (!image->good())
if (!image->good())
{
image.reset();
}
@ -326,12 +326,12 @@ namespace Exiv2 {
const unsigned char PsdHeader[6] = { '8', 'B', 'P', 'S', 0, 1 };
byte buf[len];
iIo.read(buf, len);
if (iIo.error() || iIo.eof())
if (iIo.error() || iIo.eof())
{
return false;
}
bool matched = (memcmp(buf, PsdHeader, len) == 0);
if (!advance || !matched)
if (!advance || !matched)
{
iIo.seek(-len, BasicIo::cur);
}

@ -84,12 +84,12 @@ namespace Exiv2 {
*/
void writeMetadata();
/*!
@brief Todo: Not supported yet, requires writeMetadata(). Calling
@brief Todo: Not supported yet, requires writeMetadata(). Calling
this function will throw an Error(32).
*/
void setExifData(const ExifData& exifData);
/*!
@brief Todo: Not supported yet, requires writeMetadata(). Calling
@brief Todo: Not supported yet, requires writeMetadata(). Calling
this function will throw an Error(32).
*/
void setIptcData(const IptcData& iptcData);

@ -2093,7 +2093,7 @@ namespace Exiv2 {
if (value.size() != 4 || value.typeId() != xmpText) {
return os << "(" << value << ")";
}
return printVersion(os, value.toString());
}

@ -294,7 +294,7 @@ namespace Exiv2 {
//! Print the list of tags for \em %IfdId
static void taglist(std::ostream& os, IfdId ifdId);
/*!
@brief Return true if \em ifdId is an %Ifd id which is
@brief Return true if \em ifdId is an %Ifd id which is
a makernote %Ifd id. Note: Calling this function with
makerIfd returns false.
*/

@ -80,13 +80,13 @@ namespace Exiv2 {
#ifdef DEBUG
std::cerr << "Exiv2::TgaImage::readMetadata: Reading TARGA file " << io_->path() << "\n";
#endif
if (io_->open() != 0)
if (io_->open() != 0)
{
throw Error(9, io_->path(), strError());
}
IoCloser closer(*io_);
// Ensure that this is the correct image type
if (!isTgaType(*io_, false))
if (!isTgaType(*io_, false))
{
if (io_->error() || io_->eof()) throw Error(14);
throw Error(3, "TGA");
@ -134,7 +134,7 @@ namespace Exiv2 {
Image::AutoPtr newTgaInstance(BasicIo::AutoPtr io, bool /*create*/)
{
Image::AutoPtr image(new TgaImage(io));
if (!image->good())
if (!image->good())
{
image.reset();
}
@ -153,12 +153,12 @@ namespace Exiv2 {
byte buf[26];
long curPos = iIo.tell();
iIo.seek(-26, BasicIo::end);
if (iIo.error() || iIo.eof())
if (iIo.error() || iIo.eof())
{
return false;
}
iIo.read(buf, sizeof(buf));
if (iIo.error())
if (iIo.error())
{
return false;
}

@ -52,7 +52,7 @@ namespace Exiv2 {
const int tga = 13; //!< Truevision TARGA (tga) image type (see class TgaImage)
}
/*!
/*!
@brief Class to access raw TARGA images. This is just a stub - we only
read width and height.
*/

@ -244,7 +244,7 @@ namespace Exiv2 {
type_ = static_cast<uint16_t>(value->typeId());
count_ = value->count();
delete pValue_;
pValue_ = value.release();
pValue_ = value.release();
} // TiffEntryBase::setValue
void TiffDataEntry::setStrips(const Value* pSize,
@ -322,7 +322,7 @@ namespace Exiv2 {
<< "Directory " << tiffGroupName(group())
<< ", entry 0x" << std::setw(4)
<< std::setfill('0') << std::hex << tag()
<< ": Strip " << i
<< ": Strip " << i
<< " is outside of the data area; ignored.\n";
}
#endif
@ -780,7 +780,7 @@ namespace Exiv2 {
// No assertion (sizeData may not be available, see above)
// assert(idx == sizeDir + sizeValue + sizeData);
// 4th: Write next-IFD
// 4th: Write next-IFD
if (pNext_ && sizeNext) {
idx += pNext_->write(blob, byteOrder, offset + idx, uint32_t(-1), uint32_t(-1), imageIdx);
}

@ -672,7 +672,7 @@ namespace Exiv2 {
void TiffHeaderBase::print(std::ostream& os, const std::string& prefix) const
{
os << prefix
<< _("TIFF header, offset") << " = 0x"
<< _("TIFF header, offset") << " = 0x"
<< std::setw(8) << std::setfill('0') << std::hex << std::right
<< offset_;

@ -261,7 +261,7 @@ namespace Exiv2 {
/*!
@brief Find special encoder function for a key.
If the returned pointer is 0, the tag should be encoded with the
If the returned pointer is 0, the tag should be encoded with the
encoder function of the TIFF component, else the encoder function
should be used.

@ -74,7 +74,7 @@ namespace Exiv2 {
bool TiffVisitor::go(GoEvent event) const
{
assert(event >= 0 && event < events_);
return go_[event];
return go_[event];
}
void TiffFinder::init(uint16_t tag, uint16_t group)
@ -862,7 +862,7 @@ namespace Exiv2 {
}
void TiffEncoder::add(
TiffComponent* pRootDir,
TiffComponent* pRootDir,
TiffComponent* pSourceDir,
TiffCompFactoryFct createFct
)

@ -69,7 +69,7 @@ namespace Exiv2 {
*/
class TiffVisitor {
public:
//! Events for the stop/go flag. See setGo().
//! Events for the stop/go flag. See setGo().
enum GoEvent {
//! Signal to control traversing of the composite tree.
geTraverse = 0,
@ -326,7 +326,7 @@ namespace Exiv2 {
composite tree is then traversed and metadata from the image is
used to encode each existing component.
For intrusive writing, add() is called, which loops through the
For intrusive writing, add() is called, which loops through the
metadata and creates and populates corresponding TiffComponents
as needed.
*/
@ -383,7 +383,7 @@ namespace Exiv2 {
component. This function is called by the visit methods of the
encoder as well as the add() method.
If no \em datum is provided, search the metadata based on tag and
If no \em datum is provided, search the metadata based on tag and
group of the \em object. This is the case if the function is called
from a visit method.
@ -440,13 +440,13 @@ namespace Exiv2 {
if necessary and populated using encodeTiffComponent(). The add() function
is used during intrusive writing, to create a new TIFF structure.
@note For non-intrusive writing, the encoder is used as a visitor (by
@note For non-intrusive writing, the encoder is used as a visitor (by
passing it to the accept() member of a TiffComponent). The composite
tree is then traversed and metadata from the image is used to encode
each existing component.
*/
void add(
TiffComponent* pRootDir,
TiffComponent* pRootDir,
TiffComponent* pSourceDir,
TiffCompFactoryFct createFct
);

@ -392,7 +392,7 @@ namespace Exiv2 {
if (ok) return b ? 1 : 0;
// everything failed, return from stringTo<long> is probably the best fit
return ret;
return ret;
}
float parseFloat(const std::string& s, bool& ok)

@ -329,7 +329,7 @@ namespace Exiv2 {
const char* exvGettext(const char* str);
/*!
@brief Return a \em long set to the value represented by \em s.
@brief Return a \em long set to the value represented by \em s.
Besides strings that represent \em long values, the function also
handles \em float, \em Rational and boolean
@ -343,7 +343,7 @@ namespace Exiv2 {
long parseLong(const std::string& s, bool& ok);
/*!
@brief Return a \em float set to the value represented by \em s.
@brief Return a \em float set to the value represented by \em s.
Besides strings that represent \em float values, the function also
handles \em long, \em Rational and boolean
@ -355,9 +355,9 @@ namespace Exiv2 {
to \c true if the conversion was successful or \c false if not.
*/
float parseFloat(const std::string& s, bool& ok);
/*!
@brief Return a \em Rational set to the value represented by \em s.
@brief Return a \em Rational set to the value represented by \em s.
Besides strings that represent \em Rational values, the function also
handles \em long, \em float and boolean
@ -456,7 +456,7 @@ namespace Exiv2 {
@param s String to convert
@param ok Output variable indicating the success of the operation.
@return Returns the converted value and sets \em ok to \c true if the
@return Returns the converted value and sets \em ok to \c true if the
conversion was successful or \c false if not.
*/
template<typename T>
@ -475,7 +475,7 @@ namespace Exiv2 {
@brief Specialization of stringTo(const std::string& s, bool& ok) for \em bool.
Handles the same string values as the XMP SDK. Converts the string to lowercase
and returns \c true if it is "true", "t" or "1", and \c false if it is
and returns \c true if it is "true", "t" or "1", and \c false if it is
"false", "f" or "0".
*/
template<>

@ -619,10 +619,10 @@ namespace Exiv2 {
return os;
}
std::string XmpArrayValue::toString(long n) const
std::string XmpArrayValue::toString(long n) const
{
ok_ = true;
return value_[n];
return value_[n];
}
long XmpArrayValue::toLong(long n) const
@ -701,12 +701,12 @@ namespace Exiv2 {
return os;
}
std::string LangAltValue::toString(long /*n*/) const
std::string LangAltValue::toString(long /*n*/) const
{
return toString("x-default");
}
std::string LangAltValue::toString(const std::string& qualifier) const
std::string LangAltValue::toString(const std::string& qualifier) const
{
ValueType::const_iterator i = value_.find(qualifier);
if (i != value_.end()) {
@ -740,11 +740,11 @@ namespace Exiv2 {
return new LangAltValue(*this);
}
DateValue::DateValue()
DateValue::DateValue()
: Value(date)
{
}
DateValue::DateValue(int year, int month, int day)
: Value(date)
{
@ -846,7 +846,7 @@ namespace Exiv2 {
return l;
}
TimeValue::TimeValue()
TimeValue::TimeValue()
: Value(time)
{
}

@ -336,7 +336,7 @@ namespace Exiv2 {
//! Type used to store the data.
typedef std::vector<byte> ValueType;
// DATA
ValueType value_; //!< Stores the data value
ValueType value_; //!< Stores the data value
}; // class DataValue
@ -677,7 +677,7 @@ namespace Exiv2 {
//@}
/*!
@brief Return XMP array type for an array Value TypeId, xaNone if
@brief Return XMP array type for an array Value TypeId, xaNone if
\em typeId is not an XMP array value type.
*/
static XmpArrayType xmpArrayType(TypeId typeId);
@ -697,7 +697,7 @@ namespace Exiv2 {
}; // class XmpValue
/*!
@brief %Value type suitable for simple XMP properties and
@brief %Value type suitable for simple XMP properties and
XMP nodes of complex types which are not parsed into
specific values.
@ -722,7 +722,7 @@ namespace Exiv2 {
/*!
@brief Read a simple property value from \em buf to set the value.
Sets the value to the contents of \em buf. A optional keyword,
Sets the value to the contents of \em buf. A optional keyword,
\em type is supported to set the XMP value type. This is useful for
complex value types for which Exiv2 does not have direct support.
@ -778,8 +778,8 @@ namespace Exiv2 {
/*!
@brief %Value type for simple arrays. Each item in the array is a simple
value, without qualifiers. The array may be an ordered (\em seq),
unordered (\em bag) or alternative array (\em alt). The array
value, without qualifiers. The array may be an ordered (\em seq),
unordered (\em bag) or alternative array (\em alt). The array
items must not contain qualifiers. For language alternatives use
LangAltValue.
@ -800,11 +800,11 @@ namespace Exiv2 {
//@{
using XmpValue::read;
/*!
@brief Read a simple property value from \em buf and append it
@brief Read a simple property value from \em buf and append it
to the value.
Appends \em buf to the value after the last existing array element.
Subsequent calls will therefore populate multiple array elements in
Subsequent calls will therefore populate multiple array elements in
the order they are read.
@return 0 if successful.
@ -847,7 +847,7 @@ namespace Exiv2 {
}; // class XmpArrayValue
/*!
@brief %Value type for XMP language alternative properties.
@brief %Value type for XMP language alternative properties.
A language alternative is an array consisting of simple text values,
each of which has a language qualifier.
@ -869,18 +869,18 @@ namespace Exiv2 {
//@{
using XmpValue::read;
/*!
@brief Read a simple property value from \em buf and append it
@brief Read a simple property value from \em buf and append it
to the value.
Appends \em buf to the value after the last existing array element.
Subsequent calls will therefore populate multiple array elements in
Subsequent calls will therefore populate multiple array elements in
the order they are read.
The format of \em buf is:
<BR>
<CODE>[lang=["]language code["] ]text</CODE>
<BR>
The XMP default language code <CODE>x-default</CODE> is used if
The XMP default language code <CODE>x-default</CODE> is used if
\em buf doesn't start with the keyword <CODE>lang</CODE>.
@return 0 if successful.
@ -930,7 +930,7 @@ namespace Exiv2 {
@brief Map to store the language alternative values. The language
qualifier is used as the key for the map entries.
*/
ValueType value_;
ValueType value_;
}; // class LangAltValue

@ -51,7 +51,7 @@
#define EXIV2_MAKE_VERSION(major,minor,patch) \
(((major) << 16) | ((minor) << 8) | (patch))
/*!
@brief The %Exiv2 version number of the library used at compile-time as
@brief The %Exiv2 version number of the library used at compile-time as
an integer number for easy comparison.
*/
#define EXIV2_VERSION \
@ -59,7 +59,7 @@
/*!
@brief Deprecated version check macro. Do not use.
This macro has flaws and only remains for backward compatibility.
This macro has flaws and only remains for backward compatibility.
Use EXIV2_TEST_VERSION and testVersion() instead.
*/
#define EXIV2_CHECK_VERSION(major,minor,patch) \
@ -75,9 +75,9 @@
// <exiv2/types.hpp>. Early Exiv2 versions didn't have version.hpp and the macros.
#include <exiv2/types.hpp>
// Make sure an EXIV2_TEST_VERSION macro exists:
#ifdef EXIV2_VERSION
# ifndef EXIV2_TEST_VERSION
# define EXIV2_TEST_VERSION(major,minor,patch) \
@ -86,14 +86,14 @@
#else
# define EXIV2_TEST_VERSION(major,minor,patch) (false)
#endif
std::cout << "Compiled with Exiv2 version " << EXV_PACKAGE_VERSION << "\n"
<< "Runtime Exiv2 version is " << Exiv2::version() << "\n";
// Test the Exiv2 version available at runtime but compile the if-clause only if
// the compile-time version is at least 0.15. Earlier versions didn't have a
// testVersion() function:
#if EXIV2_TEST_VERSION(0,15,0)
if (Exiv2::testVersion(0,13,0)) {
std::cout << "Available Exiv2 version is equal to or greater than 0.13\n";
@ -121,19 +121,19 @@ namespace Exiv2 {
*/
const char* version();
/*!
@brief Test the version of the available %Exiv2 library at runtime. Return
@brief Test the version of the available %Exiv2 library at runtime. Return
true if it is the same as or newer than the passed-in version.
Versions are denoted using a triplet of integers: \em major.minor.patch .
@code
// Don't include the <exiv2/version.hpp> file directly, it is included by
// <exiv2/types.hpp>. Early Exiv2 versions didn't have version.hpp and the macros.
#include <exiv2/types.hpp>
// Make sure an EXIV2_TEST_VERSION macro exists:
#ifdef EXIV2_VERSION
# ifndef EXIV2_TEST_VERSION
# define EXIV2_TEST_VERSION(major,minor,patch) \
@ -142,10 +142,10 @@ namespace Exiv2 {
#else
# define EXIV2_TEST_VERSION(major,minor,patch) (false)
#endif
std::cout << "Compiled with Exiv2 version " << EXV_PACKAGE_VERSION << "\n"
<< "Runtime Exiv2 version is " << Exiv2::version() << "\n";
// Test the Exiv2 version available at runtime but compile the if-clause only if
// the compile-time version is at least 0.15. Earlier versions didn't have a
// testVersion() function:

@ -165,7 +165,7 @@ namespace Exiv2 {
std::string Xmpdatum::key() const
{
return p_->key_.get() == 0 ? "" : p_->key_->key();
return p_->key_.get() == 0 ? "" : p_->key_->key();
}
std::string Xmpdatum::groupName() const
@ -225,7 +225,7 @@ namespace Exiv2 {
float Xmpdatum::toFloat(long n) const
{
return p_->value_.get() == 0 ? -1 : p_->value_->toFloat(n);
return p_->value_.get() == 0 ? -1 : p_->value_->toFloat(n);
}
Rational Xmpdatum::toRational(long n) const
@ -235,7 +235,7 @@ namespace Exiv2 {
Value::AutoPtr Xmpdatum::getValue() const
{
return p_->value_.get() == 0 ? Value::AutoPtr(0) : p_->value_->clone();
return p_->value_.get() == 0 ? Value::AutoPtr(0) : p_->value_->clone();
}
const Value& Xmpdatum::value() const
@ -329,17 +329,17 @@ namespace Exiv2 {
std::sort(xmpMetadata_.begin(), xmpMetadata_.end(), cmpMetadataByKey);
}
XmpData::const_iterator XmpData::begin() const
XmpData::const_iterator XmpData::begin() const
{
return xmpMetadata_.begin();
return xmpMetadata_.begin();
}
XmpData::const_iterator XmpData::end() const
{
return xmpMetadata_.end();
return xmpMetadata_.end();
}
bool XmpData::empty() const
bool XmpData::empty() const
{
return count() == 0;
}
@ -390,7 +390,7 @@ namespace Exiv2 {
}
#ifdef EXV_HAVE_XMP_TOOLKIT
bool XmpParser::registerNs(const std::string& ns,
bool XmpParser::registerNs(const std::string& ns,
const std::string& prefix)
{
try {
@ -402,7 +402,7 @@ namespace Exiv2 {
}
} // XmpParser::registerNs
#else
bool XmpParser::registerNs(const std::string& /*ns*/,
bool XmpParser::registerNs(const std::string& /*ns*/,
const std::string& /*prefix*/)
{
initialize();
@ -450,7 +450,7 @@ namespace Exiv2 {
continue;
}
if (XMP_NodeIsSchema(opt)) {
// Register unknown namespaces with Exiv2
// Register unknown namespaces with Exiv2
// (Namespaces are automatically registered with the XMP Toolkit)
if (XmpProperties::prefix(schemaNs).empty()) {
std::string prefix;

@ -110,7 +110,7 @@ namespace Exiv2 {
@brief Set the value to the string \em value. Uses Value::read(const
std::string&). If the %Xmpdatum does not have a Value yet,
then a %Value of the correct type for this %Xmpdatum is
created. If the key is unknown, a XmpTextValue is used as
created. If the key is unknown, a XmpTextValue is used as
default.
*/
void setValue(const std::string& value);
@ -303,7 +303,7 @@ namespace Exiv2 {
/*!
@brief Initialize the XMP Toolkit.
Calling this method is usually not needed, as encode() and
Calling this method is usually not needed, as encode() and
decode() will initialize the XMP Toolkit if necessary.
@return True if the initialization was successful, else false.

Loading…
Cancel
Save