Hello community,
here is the log from the commit of package exempi
checked in at Thu Aug 14 02:20:02 CEST 2008.
--------
--- GNOME/exempi/exempi.changes 2008-08-01 17:22:31.000000000 +0200
+++ exempi/exempi.changes 2008-08-06 23:24:53.000000000 +0200
@@ -1,0 +2,9 @@
+Wed Aug 6 17:20:33 EDT 2008 - mauro@suse.de
+
+-Update to 2.0.1
+ + bgo#14612: no stdbool.h for Sun compilers.
+ + bgo#14613: check for iconv() const-ness.
+ + Make the error checking more robust.
+ + Make error code thread-safe (ie local to the thread).
+
+-------------------------------------------------------------------
Old:
----
exempi-2.0.0.tar.bz2
New:
----
exempi-2.0.1.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ exempi.spec ++++++
--- /var/tmp/diff_new_pack.J22925/_old 2008-08-14 02:17:51.000000000 +0200
+++ /var/tmp/diff_new_pack.J22925/_new 2008-08-14 02:17:51.000000000 +0200
@@ -1,10 +1,18 @@
#
-# spec file for package exempi (Version 2.0.0)
+# spec file for package exempi (Version 2.0.1)
#
+# Copyright (c) 2007 Novell Inc.
# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
-# This file and all modifications and additions to the pristine
-# package are under the same license as the package itself.
#
+# All modifications and additions to the file contributed by third parties
+# remain the property of their copyright owners, unless otherwise agreed
+# upon. The license for this file, and modifications and additions to the
+# file, is the same license as for the pristine package itself (unless the
+# license for the pristine package is not an Open Source License, in which
+# case the license is the MIT License). An "Open Source License" is a
+# license that conforms to the Open Source Definition (Version 1.9)
+# published by the Open Source Initiative.
+
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
@@ -12,17 +20,16 @@
Name: exempi
-Url: http://libopenraw.freedesktop.org/
+Url: http://libopenraw.freedesktop.org/wiki/Exempi
#
# spec file for package exempi
#
-# Copyright (c) 2007 Novell Inc.
# This file and all modifications and additions to the pristine
# package are under the same license as the package itself.
#
BuildRequires: boost-devel >= 1.33.0 gcc-c++ libexpat-devel
-Version: 2.0.0
-Release: 3
+Version: 2.0.1
+Release: 1
Summary: XMP support library
License: BSD 3-Clause
Group: Development/Libraries/C and C++
@@ -110,6 +117,12 @@
%{_libdir}/pkgconfig/*.pc
%changelog
+* Wed Aug 06 2008 mauro@suse.de
+-Update to 2.0.1
+ + bgo#14612: no stdbool.h for Sun compilers.
+ + bgo#14613: check for iconv() const-ness.
+ + Make the error checking more robust.
+ + Make error code thread-safe (ie local to the thread).
* Fri Aug 01 2008 ro@suse.de
- fix requires for debuginfo package
* Wed Apr 02 2008 vuntz@suse.de
++++++ exempi-2.0.0.tar.bz2 -> exempi-2.0.1.tar.bz2 ++++++
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/exempi-2.0.0/ChangeLog new/exempi-2.0.1/ChangeLog
--- old/exempi-2.0.0/ChangeLog 2008-04-02 04:29:58.000000000 +0200
+++ new/exempi-2.0.1/ChangeLog 2008-04-29 02:53:51.000000000 +0200
@@ -1,3 +1,25 @@
+2008-04-28 Hubert Figuiere
+
+ * exempi/tests/test1.cpp: Check that errors are unset.
+
+2008-04-24 Hubert Figuiere
+
+ * exempi/exempi.cpp: RESET_ERROR is called
+ upon entry of any functions.
+ error code is local thread storage.
+
+2008-04-05 Hubert Figuiere
+
+ * source/XMPFiles/FormatSupport/Reconcile_Impl.cpp,
+ configure.ac: Check for iconv constness. (Closes #14613)
+
+2008-04-04 Hubert Figuiere
+
+ * exempi/xmp.h: no stdbool.h on Sun compilers
+ (Closes #14612)
+
+=== 2.0.0 ===
+
2008-04-01 Hubert Figuiere
* configure.ac: This is really 2.0.0
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/exempi-2.0.0/configure new/exempi-2.0.1/configure
--- old/exempi-2.0.0/configure 2008-04-02 04:30:57.000000000 +0200
+++ new/exempi-2.0.1/configure 2008-04-06 07:03:14.000000000 +0200
@@ -2280,7 +2280,7 @@
# Define the identity of the package.
PACKAGE=exempi
- VERSION=2.0.0
+ VERSION=2.0.1
cat >>confdefs.h <<_ACEOF
@@ -2449,7 +2449,7 @@
-EXEMPI_REVISION=2
+EXEMPI_REVISION=3
EXEMPI_AGE=1
@@ -19908,6 +19908,79 @@
+{ echo "$as_me:$LINENO: checking for iconv declaration" >&5
+echo $ECHO_N "checking for iconv declaration... $ECHO_C" >&6; }
+if test "${am_cv_proto_iconv+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include
+#include
+extern
+#ifdef __cplusplus
+"C"
+#endif
+#if defined(__STDC__) || defined(__cplusplus)
+size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);
+#else
+size_t iconv();
+#endif
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ am_cv_proto_iconv_arg1=""
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ am_cv_proto_iconv_arg1="const"
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"
+fi
+
+ am_cv_proto_iconv=`echo "$am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'`
+{ echo "$as_me:$LINENO: result: ${ac_t:-
+ }$am_cv_proto_iconv" >&5
+echo "${ECHO_T}${ac_t:-
+ }$am_cv_proto_iconv" >&6; }
+
+cat >>confdefs.h <<_ACEOF
+#define ICONV_CONST $am_cv_proto_iconv_arg1
+_ACEOF
+
+
# Check whether --enable-unittest was given.
if test "${enable_unittest+set}" = set; then
enableval=$enable_unittest; ENABLE_UNITTEST=$enableval
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/exempi-2.0.0/configure.ac new/exempi-2.0.1/configure.ac
--- old/exempi-2.0.0/configure.ac 2008-04-02 04:29:46.000000000 +0200
+++ new/exempi-2.0.1/configure.ac 2008-04-06 07:02:58.000000000 +0200
@@ -1,6 +1,15 @@
+dnl Copyright (C) 2007-2008 Hubert Figuiere
+dnl Small portions are:
+dnl Copyright (C) 2000-2002 Free Software Foundation, Inc.
+dnl This file is free software, distributed under the terms of the GNU
+dnl General Public License. As a special exception to the GNU General
+dnl Public License, this file may be distributed as part of a program
+dnl that contains a configuration script generated by Autoconf, under
+dnl the same distribution terms as the rest of that program.
+
AC_PREREQ(2.50)
AC_INIT(exempi/xmp.h)
-AM_INIT_AUTOMAKE(exempi, 2.0.0)
+AM_INIT_AUTOMAKE(exempi, 2.0.1)
AM_MAINTAINER_MODE
dnl ---------------------------------------------------------------------------
@@ -37,7 +46,8 @@
dnl 1.99.8 is the revision 4.1.1
dnl 1.99.9 is the revision 4.1.1 (no library change have been made)
dnl 2.0.0 is the revision 4.1.2
-AC_SUBST([EXEMPI_REVISION], [2])
+dnl 2.0.1 is the revision 4.1.3
+AC_SUBST([EXEMPI_REVISION], [3])
AC_SUBST([EXEMPI_AGE], [1])
AC_SUBST([EXEMPI_CURRENT], [4])
AC_SUBST([EXEMPI_CURRENT_MIN],
@@ -89,6 +99,31 @@
AC_CHECK_HEADER(iconv.h, ,
AC_MSG_ERROR([iconv headers missing]))
+dnl Blatently copied from iconv.m4 to remove the crack about libtool
+dnl But check for constness of the iconv parameters.
+AC_MSG_CHECKING([for iconv declaration])
+AC_CACHE_VAL(am_cv_proto_iconv, [
+ AC_TRY_COMPILE([
+#include
+#include
+extern
+#ifdef __cplusplus
+"C"
+#endif
+#if defined(__STDC__) || defined(__cplusplus)
+size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);
+#else
+size_t iconv();
+#endif
+], [], am_cv_proto_iconv_arg1="", am_cv_proto_iconv_arg1="const")
+ am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"])
+ am_cv_proto_iconv=`echo "[$]am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'`
+AC_MSG_RESULT([$]{ac_t:-
+ }[$]am_cv_proto_iconv)
+AC_DEFINE_UNQUOTED(ICONV_CONST, $am_cv_proto_iconv_arg1,
+ [Define as const if the declaration of iconv() needs const.])
+dnl end iconv checks
+
AC_ARG_ENABLE(unittest,
AC_HELP_STRING([--enable-unittest=yes|no],
[enable the unittest. requires boost (default is yes)]),
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/exempi-2.0.0/exempi/exempi.cpp new/exempi-2.0.1/exempi/exempi.cpp
--- old/exempi-2.0.0/exempi/exempi.cpp 2007-12-20 05:08:21.000000000 +0100
+++ new/exempi-2.0.1/exempi/exempi.cpp 2008-04-24 06:52:28.000000000 +0200
@@ -50,7 +50,8 @@
#include "XMP.hpp"
#include "XMP.incl_cpp"
-int static g_error = 0;
+/* TODO make the thread local storage portable */
+static __thread int g_error = 0;
static void set_error(int err)
{
@@ -63,6 +64,8 @@
std::cerr << e.GetErrMsg() << std::endl;
}
+#define RESET_ERROR set_error(0)
+
#define ASSIGN(dst, src) \
dst.year = src.year; \
dst.month = src.month;\
@@ -128,6 +131,7 @@
const char *suggestedPrefix,
XmpStringPtr registeredPrefix)
{
+ RESET_ERROR;
try {
return SXMPMeta::RegisterNamespace(namespaceURI,
suggestedPrefix,
@@ -142,6 +146,7 @@
XmpFilePtr xmp_files_new()
{
+ RESET_ERROR;
SXMPFiles *txf = NULL;
try {
txf = new SXMPFiles();
@@ -155,6 +160,7 @@
XmpFilePtr xmp_files_open_new(const char *path, XmpOpenFileOptions options)
{
CHECK_PTR(path, NULL);
+ RESET_ERROR;
SXMPFiles *txf = NULL;
try {
txf = new SXMPFiles(path, XMP_FT_UNKNOWN, options);
@@ -170,6 +176,7 @@
bool xmp_files_open(XmpFilePtr xf, const char *path, XmpOpenFileOptions options)
{
CHECK_PTR(xf, false);
+ RESET_ERROR;
SXMPFiles *txf = (SXMPFiles*)xf;
try {
return txf->OpenFile(path, XMP_FT_UNKNOWN, options);
@@ -184,6 +191,7 @@
bool xmp_files_close(XmpFilePtr xf, XmpCloseFileOptions options)
{
CHECK_PTR(xf, false);
+ RESET_ERROR;
try {
SXMPFiles *txf = (SXMPFiles*)xf;
txf->CloseFile(options);
@@ -199,6 +207,7 @@
XmpPtr xmp_files_get_new_xmp(XmpFilePtr xf)
{
CHECK_PTR(xf, NULL);
+ RESET_ERROR;
SXMPMeta *xmp = new SXMPMeta();
SXMPFiles *txf = (SXMPFiles*)xf;
@@ -221,6 +230,7 @@
{
CHECK_PTR(xf, false);
CHECK_PTR(xmp, NULL);
+ RESET_ERROR;
bool result = false;
try {
SXMPFiles *txf = (SXMPFiles*)xf;
@@ -237,6 +247,7 @@
bool xmp_files_can_put_xmp(XmpFilePtr xf, XmpPtr xmp)
{
CHECK_PTR(xf, false);
+ RESET_ERROR;
SXMPFiles *txf = (SXMPFiles*)xf;
return txf->CanPutXMP(*(SXMPMeta*)xmp);
@@ -247,6 +258,7 @@
{
CHECK_PTR(xf, false);
CHECK_PTR(xmp, false);
+ RESET_ERROR;
SXMPFiles *txf = (SXMPFiles*)xf;
try {
@@ -263,6 +275,7 @@
bool xmp_files_free(XmpFilePtr xf)
{
CHECK_PTR(xf, false);
+ RESET_ERROR;
SXMPFiles *txf = (SXMPFiles*)xf;
try {
delete txf;
@@ -277,6 +290,7 @@
XmpPtr xmp_new_empty()
{
+ RESET_ERROR;
SXMPMeta *txmp = new SXMPMeta;
return (XmpPtr)txmp;
}
@@ -285,6 +299,7 @@
XmpPtr xmp_new(const char *buffer, size_t len)
{
CHECK_PTR(buffer, NULL);
+ RESET_ERROR;
SXMPMeta *txmp;
try {
@@ -301,6 +316,7 @@
XmpPtr xmp_copy(XmpPtr xmp)
{
CHECK_PTR(xmp, NULL);
+ RESET_ERROR;
SXMPMeta *txmp = new SXMPMeta(*(SXMPMeta*)xmp);
return (XmpPtr)txmp;
@@ -328,6 +344,7 @@
bool xmp_serialize(XmpPtr xmp, XmpStringPtr buffer, uint32_t options,
uint32_t padding)
{
+ RESET_ERROR;
return xmp_serialize_and_format(xmp, buffer, options, padding,
"\n", " ", 0);
}
@@ -340,6 +357,7 @@
{
CHECK_PTR(xmp, false);
CHECK_PTR(buffer, false);
+ RESET_ERROR;
SXMPMeta *txmp = (SXMPMeta *)xmp;
try {
@@ -358,6 +376,7 @@
bool xmp_free(XmpPtr xmp)
{
CHECK_PTR(xmp, false);
+ RESET_ERROR;
SXMPMeta *txmp = (SXMPMeta *)xmp;
delete txmp;
return true;
@@ -369,6 +388,7 @@
uint32_t *propsBits)
{
CHECK_PTR(xmp, false);
+ RESET_ERROR;
bool ret = false;
try {
@@ -391,6 +411,7 @@
uint32_t *propsBits)
{
CHECK_PTR(xmp, false);
+ RESET_ERROR;
bool ret = false;
try {
@@ -415,6 +436,7 @@
uint32_t *propsBits)
{
CHECK_PTR(xmp, false);
+ RESET_ERROR;
bool ret = false;
try {
@@ -436,6 +458,7 @@
uint32_t *propsBits)
{
CHECK_PTR(xmp, false);
+ RESET_ERROR;
bool ret = false;
try {
@@ -457,6 +480,7 @@
uint32_t *propsBits)
{
CHECK_PTR(xmp, false);
+ RESET_ERROR;
bool ret = false;
try {
@@ -479,6 +503,7 @@
uint32_t *propsBits)
{
CHECK_PTR(xmp, false);
+ RESET_ERROR;
bool ret = false;
try {
@@ -502,6 +527,7 @@
uint32_t *propsBits)
{
CHECK_PTR(xmp, false);
+ RESET_ERROR;
bool ret = false;
try {
@@ -524,6 +550,7 @@
uint32_t optionBits)
{
CHECK_PTR(xmp, false);
+ RESET_ERROR;
bool ret = false;
SXMPMeta *txmp = (SXMPMeta *)xmp;
@@ -545,6 +572,7 @@
uint32_t optionBits)
{
CHECK_PTR(xmp, false);
+ RESET_ERROR;
bool ret = false;
SXMPMeta *txmp = (SXMPMeta *)xmp;
@@ -567,6 +595,7 @@
uint32_t optionBits)
{
CHECK_PTR(xmp, false);
+ RESET_ERROR;
bool ret = false;
SXMPMeta *txmp = (SXMPMeta *)xmp;
@@ -588,6 +617,7 @@
uint32_t optionBits)
{
CHECK_PTR(xmp, false);
+ RESET_ERROR;
bool ret = false;
SXMPMeta *txmp = (SXMPMeta *)xmp;
@@ -609,6 +639,7 @@
uint32_t optionBits)
{
CHECK_PTR(xmp, false);
+ RESET_ERROR;
bool ret = false;
SXMPMeta *txmp = (SXMPMeta *)xmp;
@@ -629,6 +660,7 @@
uint32_t optionBits)
{
CHECK_PTR(xmp, false);
+ RESET_ERROR;
bool ret = false;
SXMPMeta *txmp = (SXMPMeta *)xmp;
@@ -650,6 +682,7 @@
uint32_t optionBits)
{
CHECK_PTR(xmp, false);
+ RESET_ERROR;
bool ret = false;
SXMPMeta *txmp = (SXMPMeta *)xmp;
@@ -670,6 +703,7 @@
uint32_t optionBits)
{
CHECK_PTR(xmp, false);
+ RESET_ERROR;
bool ret = false;
SXMPMeta *txmp = (SXMPMeta *)xmp;
@@ -689,6 +723,7 @@
bool xmp_delete_property(XmpPtr xmp, const char *schema, const char *name)
{
CHECK_PTR(xmp, false);
+ RESET_ERROR;
bool ret = true;
SXMPMeta *txmp = (SXMPMeta *)xmp;
@@ -708,6 +743,7 @@
bool xmp_has_property(XmpPtr xmp, const char *schema, const char *name)
{
CHECK_PTR(xmp, false);
+ RESET_ERROR;
bool ret = true;
SXMPMeta *txmp = (SXMPMeta *)xmp;
@@ -730,6 +766,7 @@
uint32_t *propsBits)
{
CHECK_PTR(xmp, false);
+ RESET_ERROR;
bool ret = false;
try {
@@ -754,6 +791,7 @@
const char *value, uint32_t optionBits)
{
CHECK_PTR(xmp, false);
+ RESET_ERROR;
bool ret = true;
SXMPMeta *txmp = (SXMPMeta *)xmp;
@@ -773,10 +811,11 @@
bool xmp_delete_localized_text(XmpPtr xmp, const char *schema,
- const char *name, const char *genericLang,
- const char *specificLang)
+ const char *name, const char *genericLang,
+ const char *specificLang)
{
CHECK_PTR(xmp, false);
+ RESET_ERROR;
bool ret = true;
SXMPMeta *txmp = (SXMPMeta *)xmp;
@@ -818,6 +857,7 @@
const char * propName, XmpIterOptions options)
{
CHECK_PTR(xmp, NULL);
+ RESET_ERROR;
return (XmpIteratorPtr)new SXMPIterator(*(SXMPMeta*)xmp, schema, propName, options);
}
@@ -825,6 +865,7 @@
bool xmp_iterator_free(XmpIteratorPtr iter)
{
CHECK_PTR(iter, false);
+ RESET_ERROR;
SXMPIterator *titer = (SXMPIterator*)iter;
delete titer;
return true;
@@ -835,6 +876,7 @@
uint32_t *options)
{
CHECK_PTR(iter, false);
+ RESET_ERROR;
SXMPIterator *titer = (SXMPIterator*)iter;
return titer->Next(reinterpret_caststd::string*(schema),
reinterpret_caststd::string*(propName),
@@ -845,6 +887,7 @@
bool xmp_iterator_skip(XmpIteratorPtr iter, XmpIterSkipOptions options)
{
CHECK_PTR(iter, false);
+ RESET_ERROR;
SXMPIterator *titer = (SXMPIterator*)iter;
titer->Skip(options);
return true;
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/exempi-2.0.0/exempi/tests/test1.cpp new/exempi-2.0.1/exempi/tests/test1.cpp
--- old/exempi-2.0.0/exempi/tests/test1.cpp 2008-03-29 20:51:38.000000000 +0100
+++ new/exempi-2.0.1/exempi/tests/test1.cpp 2008-04-29 02:53:11.000000000 +0200
@@ -1,7 +1,7 @@
/*
* exempi - test1.cpp
*
- * Copyright (C) 2007 Hubert Figuiere
+ * Copyright (C) 2007-2008 Hubert Figuiere
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -72,23 +72,29 @@
BOOST_CHECK(len != 0);
BOOST_CHECK(xmp_init());
+ BOOST_CHECK_EQUAL(xmp_get_error(), 0);
XmpPtr xmp = xmp_new_empty();
+ BOOST_CHECK_EQUAL(xmp_get_error(), 0);
BOOST_CHECK(xmp_parse(xmp, buffer, len));
+ BOOST_CHECK_EQUAL(xmp_get_error(), 0);
BOOST_CHECK(xmp != NULL);
XmpStringPtr reg_prefix = xmp_string_new();
BOOST_CHECK(xmp_register_namespace(NS_CC, "cc", reg_prefix));
+ BOOST_CHECK_EQUAL(xmp_get_error(), 0);
BOOST_CHECK_EQUAL(strcmp("cc:", xmp_string_cstr(reg_prefix)), 0);
xmp_string_free(reg_prefix);
BOOST_CHECK(xmp_set_property(xmp, NS_CC, "License", "Foo", 0));
+ BOOST_CHECK_EQUAL(xmp_get_error(), 0);
XmpStringPtr the_prop = xmp_string_new();
BOOST_CHECK(xmp_get_property(xmp, NS_CC, "License", the_prop, NULL));
+ BOOST_CHECK_EQUAL(xmp_get_error(), 0);
BOOST_CHECK_EQUAL(strcmp("Foo", xmp_string_cstr(the_prop)), 0);
XmpDateTime the_dt;
@@ -104,15 +110,18 @@
the_dt.nanoSecond = 0;
BOOST_CHECK(xmp_set_property_date(xmp, NS_EXIF, "DateTimeOriginal",
&the_dt, 0));
+ BOOST_CHECK_EQUAL(xmp_get_error(), 0);
BOOST_CHECK(xmp_get_property(xmp, NS_EXIF, "DateTimeOriginal",
the_prop, NULL));
+ BOOST_CHECK_EQUAL(xmp_get_error(), 0);
BOOST_CHECK_EQUAL(strcmp("2005-12-25T12:42:42Z",
xmp_string_cstr(the_prop)), 0);
XmpDateTime the_dt2;
BOOST_CHECK(xmp_get_property_date(xmp, NS_EXIF, "DateTimeOriginal",
&the_dt2, NULL));
+ BOOST_CHECK_EQUAL(xmp_get_error(), 0);
BOOST_CHECK(the_dt2.year == 2005);
BOOST_CHECK(the_dt2.minute == 42);
@@ -151,10 +160,13 @@
buffer[rlen] = 0;
BOOST_CHECK(xmp_init());
+ BOOST_CHECK_EQUAL(xmp_get_error(), 0);
XmpPtr xmp = xmp_new_empty();
+ BOOST_CHECK_EQUAL(xmp_get_error(), 0);
BOOST_CHECK(xmp_parse(xmp, buffer, len));
+ BOOST_CHECK_EQUAL(xmp_get_error(), 0);
std::string b1(buffer);
std::string b2;
@@ -163,6 +175,7 @@
BOOST_CHECK(xmp_serialize_and_format(xmp, output,
XMP_SERIAL_OMITPACKETWRAPPER,
0, "\n", " ", 0));
+ BOOST_CHECK_EQUAL(xmp_get_error(), 0);
b2 = xmp_string_cstr(output);
// find a way to compare that.
// BOOST_CHECK_EQUAL(b1, b2);
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/exempi-2.0.0/exempi/xmp.h new/exempi-2.0.1/exempi/xmp.h
--- old/exempi-2.0.0/exempi/xmp.h 2008-01-26 21:34:47.000000000 +0100
+++ new/exempi-2.0.1/exempi/xmp.h 2008-04-06 07:02:58.000000000 +0200
@@ -40,7 +40,10 @@
#define __EXEMPI_XMP_H_
#include
+/* stdbool choke on Sun (bug# 14612) */
+#if !defined(__sun)
#include
+#endif
#include
#include
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/exempi-2.0.0/NEWS new/exempi-2.0.1/NEWS
--- old/exempi-2.0.0/NEWS 2008-03-31 01:37:54.000000000 +0200
+++ new/exempi-2.0.1/NEWS 2008-04-24 06:53:08.000000000 +0200
@@ -1,4 +1,11 @@
-1.99.10
+2.0.1
+
+- Bug #14612: no stdbool.h for Sun compilers.
+- Bug #14613: check for iconv() const-ness.
+- Make the error checking more robust.
+- Make error code thread-safe (ie local to the thread).
+
+2.0.0
- Bug #14614, Bug #15263: endian detection in configure.
- Bug #14615: missing includes for Solaris.
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/exempi-2.0.0/source/XMPFiles/FormatSupport/Reconcile_Impl.cpp new/exempi-2.0.1/source/XMPFiles/FormatSupport/Reconcile_Impl.cpp
--- old/exempi-2.0.0/source/XMPFiles/FormatSupport/Reconcile_Impl.cpp 2008-02-22 20:22:00.000000000 +0100
+++ new/exempi-2.0.1/source/XMPFiles/FormatSupport/Reconcile_Impl.cpp 2008-04-05 20:03:17.000000000 +0200
@@ -249,7 +249,7 @@
iconv_t cd = iconv_open( "ISO8859-1", "UTF-8" );
- char * in = (char *)utf8Ptr;
+ ICONV_CONST char * in = (ICONV_CONST char *)utf8Ptr;
size_t inLen = utf8Len;
size_t outLen = utf8Len * 4;
char * buf = (char *)calloc( outLen, 1 );
@@ -406,7 +406,7 @@
iconv_t cd = iconv_open( "UTF-8", "ISO8859-1" );
- char * in = (char *)_latin1Ptr;
+ ICONV_CONST char * in = (ICONV_CONST char *)_latin1Ptr;
size_t inLen = latin1Len;
size_t outLen = latin1Len * 4;
char * buf = (char *)calloc( outLen, 1 );
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
---------------------------------------------------------------------
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org