Reverted to using snprintf, now that I found out how MSVC calls it.

v0.27.3
Andreas Huggel 17 years ago
parent c463cdd283
commit 216cffe9ff

@ -48,7 +48,7 @@ XMP Toolkit 4.1.1 (xmp_v411_sdk.zip) from
http://www.adobe.com/devnet/xmp/sdk/eula.html
The following files were copied from the original XMP SDK
distribution:
distribution, essentially:
public/include/* -> xmpsdk/include
source/common/* -> xmpsdk/src
@ -60,7 +60,7 @@ third-party/MD5/MD5.cpp -> xmpsdk/src
Minor changes were applied to the original XMP SDK, see the SVN for
details:
http://dev.robotbattle.com/~cvsuser/cgi-bin/ns_viewcvs.cgi/exiv2/trunk/xmpsdk/
http://dev.robotbattle.com/cgi-bin/viewvc.cgi/exiv2/trunk/xmpsdk/
License

@ -42,6 +42,10 @@ EXIV2_RCSID("@(#) $Id$")
#include <iostream>
#include <iomanip>
#include <sstream>
#include <stdio.h> // for snprintf (C99)
#ifdef _MSC_VER
# define snprintf _snprintf
#endif
// Adobe XMP Toolkit
#ifdef EXV_HAVE_XMP_TOOLKIT
@ -571,7 +575,8 @@ namespace Exiv2 {
sec = static_cast<int>(dsec);
dsec -= sec;
sprintf(buf, "%.9f", dsec);
snprintf(buf, sizeof(buf), "%.9f", dsec);
buf[sizeof(buf) - 1] = 0;
subsec = buf + 1;
Exiv2::ExifData::iterator datePos = exifData_->findKey(ExifKey("Exif.GPSInfo.GPSDateStamp"));
@ -618,8 +623,9 @@ namespace Exiv2 {
}
if (subsec.size() > 10) subsec = subsec.substr(0, 10);
sprintf(buf, "%4d-%02d-%02dT%02d:%02d:%02d%s",
year, month, day, hour, min, sec, subsec.c_str());
snprintf(buf, sizeof(buf), "%4d-%02d-%02dT%02d:%02d:%02d%s",
year, month, day, hour, min, sec, subsec.c_str());
buf[sizeof(buf) - 1] = 0;
(*xmpData_)[to] = buf;
if (erase_) exifData_->erase(pos);
@ -792,13 +798,14 @@ namespace Exiv2 {
SXMPUtils::ConvertToLocalTime(&datetime);
sprintf(buf, "%4d:%02d:%02d %02d:%02d:%02d",
static_cast<int>(datetime.year),
static_cast<int>(datetime.month),
static_cast<int>(datetime.day),
static_cast<int>(datetime.hour),
static_cast<int>(datetime.minute),
static_cast<int>(datetime.second));
snprintf(buf, sizeof(buf), "%4d:%02d:%02d %02d:%02d:%02d",
static_cast<int>(datetime.year),
static_cast<int>(datetime.month),
static_cast<int>(datetime.day),
static_cast<int>(datetime.hour),
static_cast<int>(datetime.minute),
static_cast<int>(datetime.second));
buf[sizeof(buf) - 1] = 0;
(*exifData_)[to] = buf;
if (datetime.nanoSecond) {
@ -841,10 +848,11 @@ namespace Exiv2 {
(*exifData_)[to] = array.str();
prepareExifTarget("Exif.GPSInfo.GPSDateStamp", true);
sprintf(buf, "%4d:%02d:%02d",
snprintf(buf, sizeof(buf), "%4d:%02d:%02d",
static_cast<int>(datetime.year),
static_cast<int>(datetime.month),
static_cast<int>(datetime.day));
buf[sizeof(buf) - 1] = 0;
(*exifData_)["Exif.GPSInfo.GPSDateStamp"] = buf;
}

@ -17,7 +17,7 @@ good="./data/xmpparser-test.out"
# Main routine
(
binpath="$VALGRIND ../../samples"
exiv2="$VALGRIND ../../src/exiv2"
exiv2="$VALGRIND exiv2"
cd ./tmp
# ----------------------------------------------------------------------

Loading…
Cancel
Save