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 http://www.adobe.com/devnet/xmp/sdk/eula.html
The following files were copied from the original XMP SDK The following files were copied from the original XMP SDK
distribution: distribution, essentially:
public/include/* -> xmpsdk/include public/include/* -> xmpsdk/include
source/common/* -> xmpsdk/src 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 Minor changes were applied to the original XMP SDK, see the SVN for
details: 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 License

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

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

Loading…
Cancel
Save