[SCM] exiv2 packaging branch, master, updated. debian/0.25-3.1-3734-gdcbc29a
Maximiliano Curia
maxy at moszumanska.debian.org
Thu Jul 13 17:40:58 UTC 2017
Gitweb-URL: http://git.debian.org/?p=pkg-kde/kde-extras/exiv2.git;a=commitdiff;h=d47aeee
The following commit has been merged in the master branch:
commit d47aeee605ec255b23c054eaa49a3d39b85e6aa3
Author: Andreas Huggel <ahuggel at gmx.net>
Date: Fri Dec 25 16:15:09 2009 +0000
Removed --disable-printucs2 configure option.
---
README | 4 ++--
config/config.h.in | 3 ---
config/configure.ac | 29 -----------------------------
src/tags.cpp | 42 +++++++++++++++++++++---------------------
4 files changed, 23 insertions(+), 55 deletions(-)
diff --git a/README b/README
index db93c7b..65c2031 100644
--- a/README
+++ b/README
@@ -58,7 +58,7 @@ Feature Package Configure options
PNG image support zlib --without-zlib
--with-zlib=DIR
Native language support gettext --disable-nls
-Converting Windows XP tags libiconv --disable-printucs2
+Converting Windows XP tags libiconv --without-libiconv-prefix
--with-libiconv-prefix[=DIR]
XMP support expat --disable-xmp
--with-expat=DIR
@@ -168,4 +168,4 @@ version of the Exiv2 library.
To do this on Windows, compile the library with the preprocessor
symbol EXV_COMMERCIAL_VERSION defined in the file src\exv_msvc.h.
On UNIX-like systems, run the configure script with the options
---enable-commercial --disable-nls --disable-printucs2 --disable-lensdata
+--enable-commercial --disable-nls --disable-lensdata
diff --git a/config/config.h.in b/config/config.h.in
index 635f4b3..8eaa194 100644
--- a/config/config.h.in
+++ b/config/config.h.in
@@ -28,9 +28,6 @@
/* Define to 1 if you have the `iconv' function. */
#undef HAVE_ICONV
-/* Define to 1 to enable conversion of UCS2 encoded Windows tags to UTF-8. */
-#undef HAVE_PRINTUCS2
-
#endif /* !EXV_COMMERCIAL_VERSION */
/* Define to `const' or to empty, depending on the second argument of `iconv'. */
diff --git a/config/configure.ac b/config/configure.ac
index 8249596..11675c0 100644
--- a/config/configure.ac
+++ b/config/configure.ac
@@ -130,22 +130,6 @@ if test "$USE_LENSDATA" = "yes"; then
AC_DEFINE(HAVE_LENSDATA,1)
fi
-AC_MSG_CHECKING([whether to convert UCS2 encoded Windows tags with iconv ])
-AC_ARG_ENABLE(printucs2,
- [ --disable-printucs2 do not convert UCS2 encoded Windows tag to UTF-8 ],
- USE_PRINTUCS2=$enableval, USE_PRINTUCS2=yes)
-AC_MSG_RESULT($USE_PRINTUCS2)
-if test "$USE_PRINTUCS2" = "yes"; then
- AC_DEFINE(HAVE_PRINTUCS2,1)
-else
-# if NLS is also disabled, don't link with iconv
-# (since in some cases, AM_GNU_GETTEXT and/or AM_ICONV configure for this anyway)
- if test "$USE_NLS" = "no"; then
- unset LIBICONV
- unset LTLIBICONV
- fi
-fi
-
AC_MSG_CHECKING([whether to compile a commercial version of the Exiv2 library])
AC_ARG_ENABLE(commercial,
[ --enable-commercial compile with the EXV_COMMERCIAL_VERSION symbol set ],
@@ -260,19 +244,6 @@ yes) echo "-- Native language support........ YES" ;;
echo "" ;;
esac
-case "$USE_PRINTUCS2" in
-yes) echo "-- Conversion of Windows XP tags.. YES" ;;
-*) echo "-- Conversion of Windows XP tags.. NO"
- echo ""
- echo "On Windows, NO here means that the Windows system function is used"
- echo "to convert some UCS-2 encoded Windows XP tags. On other platforms,"
- echo "libiconv is required for the conversion of Windows XP tags."
- echo "Make sure that the libiconv header files are installed and use"
- echo "--with-libiconv-prefix=DIR if it is in a non-standard location."
- echo "You can get libiconv from http://www.gnu.org/software/libiconv/"
- echo "" ;;
-esac
-
case "$USE_LENSDATA" in
yes) echo "-- Nikon lens database............ YES" ;;
*) echo "-- Nikon lens database............ NO" ;;
diff --git a/src/tags.cpp b/src/tags.cpp
index a6dc102..c055797 100644
--- a/src/tags.cpp
+++ b/src/tags.cpp
@@ -2149,7 +2149,26 @@ namespace Exiv2 {
std::ostream& printUcs2(std::ostream& os, const Value& value, const ExifData*)
{
-#if defined EXV_HAVE_ICONV && defined EXV_HAVE_PRINTUCS2
+#if defined WIN32 && !defined __CYGWIN__
+ // in Windows the WideCharToMultiByte function can be used
+ if (value.typeId() == unsignedByte) {
+ DataBuf ib(value.size());
+ value.copy(ib.pData_, invalidByteOrder);
+ int out_size = WideCharToMultiByte(CP_UTF8, 0, reinterpret_cast<LPWSTR>(ib.pData_),
+ ib.size_ / sizeof(WCHAR), NULL, 0, NULL, NULL);
+ if (out_size >= 0) {
+ DataBuf ob(out_size + 1);
+ WideCharToMultiByte(CP_UTF8, 0, reinterpret_cast<LPWSTR>(ib.pData_),
+ ib.size_ / sizeof(WCHAR), reinterpret_cast<char*>(ob.pData_),
+ ob.size_, NULL, NULL);
+ os << std::string(reinterpret_cast<char*>(ob.pData_));
+ }
+ else {
+ os << value;
+ }
+ }
+ return os;
+#elif defined EXV_HAVE_ICONV // !(defined WIN32 && !defined __CYGWIN__)
bool go = true;
iconv_t cd = (iconv_t)(-1);
if (value.typeId() != unsignedByte) {
@@ -2199,29 +2218,10 @@ namespace Exiv2 {
os << value;
}
return os;
-#elif defined WIN32 && !defined __CYGWIN__ // !(EXV_HAVE_ICONV && EXV_HAVE_PRINTUCS2)
- // in Windows the WideCharToMultiByte function can be used
- if (value.typeId() == unsignedByte) {
- DataBuf ib(value.size());
- value.copy(ib.pData_, invalidByteOrder);
- int out_size = WideCharToMultiByte(CP_UTF8, 0, reinterpret_cast<LPWSTR>(ib.pData_),
- ib.size_ / sizeof(WCHAR), NULL, 0, NULL, NULL);
- if (out_size >= 0) {
- DataBuf ob(out_size + 1);
- WideCharToMultiByte(CP_UTF8, 0, reinterpret_cast<LPWSTR>(ib.pData_),
- ib.size_ / sizeof(WCHAR), reinterpret_cast<char*>(ob.pData_),
- ob.size_, NULL, NULL);
- os << std::string(reinterpret_cast<char*>(ob.pData_));
- }
- else {
- os << value;
- }
- }
- return os;
#else
os << value;
return os;
-#endif // EXV_HAVE_ICONV && EXV_HAVE_PRINTUCS2
+#endif // EXV_HAVE_ICONV
} // printUcs2
std::ostream& printExifUnit(std::ostream& os, const Value& value, const ExifData* metadata)
--
exiv2 packaging
More information about the pkg-kde-commits
mailing list