Hello community, here is the log from the commit of package libfilezilla for openSUSE:Factory checked in at 2016-07-12 23:51:00 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/libfilezilla (Old) and /work/SRC/openSUSE:Factory/.libfilezilla.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libfilezilla" Changes: -------- --- /work/SRC/openSUSE:Factory/libfilezilla/libfilezilla.changes 2016-05-30 09:58:08.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.libfilezilla.new/libfilezilla.changes 2016-07-12 23:51:04.000000000 +0200 @@ -1,0 +2,10 @@ +Tue Jun 28 20:27:51 UTC 2016 - [email protected] + +- update to 0.5.3 + * New features: + - Add fz::replace_substrincs to search and replace substrings + in std::(w)string + * Bugfixes and minor changes: + - Explicitly request large file support on 32bit systems + +------------------------------------------------------------------- Old: ---- libfilezilla-0.5.2.tar.bz2 New: ---- libfilezilla-0.5.3.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ libfilezilla.spec ++++++ --- /var/tmp/diff_new_pack.Sf5WH2/_old 2016-07-12 23:51:05.000000000 +0200 +++ /var/tmp/diff_new_pack.Sf5WH2/_new 2016-07-12 23:51:05.000000000 +0200 @@ -20,7 +20,7 @@ %define libname %{name}%{major} %define develname %{name}-devel Name: libfilezilla -Version: 0.5.2 +Version: 0.5.3 Release: 0 Summary: C++ library for filezilla License: GPL-2.0+ ++++++ libfilezilla-0.5.2.tar.bz2 -> libfilezilla-0.5.3.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libfilezilla-0.5.2/NEWS new/libfilezilla-0.5.3/NEWS --- old/libfilezilla-0.5.2/NEWS 2016-05-20 18:35:50.000000000 +0200 +++ new/libfilezilla-0.5.3/NEWS 2016-06-20 10:11:27.000000000 +0200 @@ -1,3 +1,8 @@ +0.5.3 (2016-06-20) + ++ Add fz::replace_substrincs to search and replace substrings in std::(w)string +- Explicitly request large file support on 32bit systems + 0.5.2 (2016-05-20) + Add fz::shared_optional::is_same that checks whether two instances share the same underlying pointer value, like a shallow equal. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libfilezilla-0.5.2/configure new/libfilezilla-0.5.3/configure --- old/libfilezilla-0.5.2/configure 2016-05-20 18:37:02.000000000 +0200 +++ new/libfilezilla-0.5.3/configure 2016-06-20 10:12:34.000000000 +0200 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for libfilezilla 0.5.2. +# Generated by GNU Autoconf 2.69 for libfilezilla 0.5.3. # # Report bugs to <[email protected]>. # @@ -590,8 +590,8 @@ # Identity of this package. PACKAGE_NAME='libfilezilla' PACKAGE_TARNAME='libfilezilla' -PACKAGE_VERSION='0.5.2' -PACKAGE_STRING='libfilezilla 0.5.2' +PACKAGE_VERSION='0.5.3' +PACKAGE_STRING='libfilezilla 0.5.3' PACKAGE_BUGREPORT='[email protected]' PACKAGE_URL='https://lib.filezilla-project.org/' @@ -828,6 +828,7 @@ with_gnu_ld with_sysroot enable_libtool_lock +enable_largefile with_cppunit_prefix with_cppunit_exec_prefix enable_doxygen_doc @@ -1395,7 +1396,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures libfilezilla 0.5.2 to adapt to many kinds of systems. +\`configure' configures libfilezilla 0.5.3 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1465,7 +1466,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of libfilezilla 0.5.2:";; + short | recursive ) echo "Configuration of libfilezilla 0.5.3:";; esac cat <<\_ACEOF @@ -1484,6 +1485,7 @@ --enable-fast-install[=PKGS] optimize for fast installation [default=yes] --disable-libtool-lock avoid locking (might break parallel builds) + --disable-largefile omit support for large files --disable-doxygen-doc don't generate any doxygen documentation --enable-doxygen-dot generate graphics for doxygen documentation --enable-doxygen-man generate doxygen manual pages @@ -1589,7 +1591,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -libfilezilla configure 0.5.2 +libfilezilla configure 0.5.3 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -2034,7 +2036,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by libfilezilla $as_me 0.5.2, which was +It was created by libfilezilla $as_me 0.5.3, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -2900,7 +2902,7 @@ # Define the identity of the package. PACKAGE='libfilezilla' - VERSION='0.5.2' + VERSION='0.5.3' cat >>confdefs.h <<_ACEOF @@ -15999,6 +16001,208 @@ +# To make sure stat.st_size is a 64bit (or larger) value +# Check whether --enable-largefile was given. +if test "${enable_largefile+set}" = set; then : + enableval=$enable_largefile; +fi + +if test "$enable_largefile" != no; then + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for special C compiler options needed for large files" >&5 +$as_echo_n "checking for special C compiler options needed for large files... " >&6; } +if ${ac_cv_sys_largefile_CC+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_cv_sys_largefile_CC=no + if test "$GCC" != yes; then + ac_save_CC=$CC + while :; do + # IRIX 6.2 and later do not support large files by default, + # so use the C compiler's -n32 option if that helps. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <sys/types.h> + /* Check that off_t can represent 2**63 - 1 correctly. + We can't simply define LARGE_OFF_T to be 9223372036854775807, + since some C++ compilers masquerading as C compilers + incorrectly reject 9223372036854775807. */ +#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31)) + int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 + && LARGE_OFF_T % 2147483647 == 1) + ? 1 : -1]; +int +main () +{ + + ; + return 0; +} +_ACEOF + if ac_fn_c_try_compile "$LINENO"; then : + break +fi +rm -f core conftest.err conftest.$ac_objext + CC="$CC -n32" + if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_sys_largefile_CC=' -n32'; break +fi +rm -f core conftest.err conftest.$ac_objext + break + done + CC=$ac_save_CC + rm -f conftest.$ac_ext + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_largefile_CC" >&5 +$as_echo "$ac_cv_sys_largefile_CC" >&6; } + if test "$ac_cv_sys_largefile_CC" != no; then + CC=$CC$ac_cv_sys_largefile_CC + fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _FILE_OFFSET_BITS value needed for large files" >&5 +$as_echo_n "checking for _FILE_OFFSET_BITS value needed for large files... " >&6; } +if ${ac_cv_sys_file_offset_bits+:} false; then : + $as_echo_n "(cached) " >&6 +else + while :; do + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <sys/types.h> + /* Check that off_t can represent 2**63 - 1 correctly. + We can't simply define LARGE_OFF_T to be 9223372036854775807, + since some C++ compilers masquerading as C compilers + incorrectly reject 9223372036854775807. */ +#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31)) + int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 + && LARGE_OFF_T % 2147483647 == 1) + ? 1 : -1]; +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_sys_file_offset_bits=no; break +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#define _FILE_OFFSET_BITS 64 +#include <sys/types.h> + /* Check that off_t can represent 2**63 - 1 correctly. + We can't simply define LARGE_OFF_T to be 9223372036854775807, + since some C++ compilers masquerading as C compilers + incorrectly reject 9223372036854775807. */ +#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31)) + int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 + && LARGE_OFF_T % 2147483647 == 1) + ? 1 : -1]; +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_sys_file_offset_bits=64; break +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_cv_sys_file_offset_bits=unknown + break +done +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_file_offset_bits" >&5 +$as_echo "$ac_cv_sys_file_offset_bits" >&6; } +case $ac_cv_sys_file_offset_bits in #( + no | unknown) ;; + *) +cat >>confdefs.h <<_ACEOF +#define _FILE_OFFSET_BITS $ac_cv_sys_file_offset_bits +_ACEOF +;; +esac +rm -rf conftest* + if test $ac_cv_sys_file_offset_bits = unknown; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _LARGE_FILES value needed for large files" >&5 +$as_echo_n "checking for _LARGE_FILES value needed for large files... " >&6; } +if ${ac_cv_sys_large_files+:} false; then : + $as_echo_n "(cached) " >&6 +else + while :; do + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <sys/types.h> + /* Check that off_t can represent 2**63 - 1 correctly. + We can't simply define LARGE_OFF_T to be 9223372036854775807, + since some C++ compilers masquerading as C compilers + incorrectly reject 9223372036854775807. */ +#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31)) + int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 + && LARGE_OFF_T % 2147483647 == 1) + ? 1 : -1]; +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_sys_large_files=no; break +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#define _LARGE_FILES 1 +#include <sys/types.h> + /* Check that off_t can represent 2**63 - 1 correctly. + We can't simply define LARGE_OFF_T to be 9223372036854775807, + since some C++ compilers masquerading as C compilers + incorrectly reject 9223372036854775807. */ +#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31)) + int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 + && LARGE_OFF_T % 2147483647 == 1) + ? 1 : -1]; +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_sys_large_files=1; break +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_cv_sys_large_files=unknown + break +done +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_large_files" >&5 +$as_echo "$ac_cv_sys_large_files" >&6; } +case $ac_cv_sys_large_files in #( + no | unknown) ;; + *) +cat >>confdefs.h <<_ACEOF +#define _LARGE_FILES $ac_cv_sys_large_files +_ACEOF +;; +esac +rm -rf conftest* + fi + + +fi + + # libstdc++ as shipped with GCC 4.7 has a steady clock that isn't steady (who implements such crap?) @@ -19461,7 +19665,7 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by libfilezilla $as_me 0.5.2, which was +This file was extended by libfilezilla $as_me 0.5.3, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -19528,7 +19732,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -libfilezilla config.status 0.5.2 +libfilezilla config.status 0.5.3 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libfilezilla-0.5.2/configure.ac new/libfilezilla-0.5.3/configure.ac --- old/libfilezilla-0.5.2/configure.ac 2016-05-20 18:36:02.000000000 +0200 +++ new/libfilezilla-0.5.3/configure.ac 2016-06-20 10:09:42.000000000 +0200 @@ -1,4 +1,4 @@ -AC_INIT([libfilezilla],[0.5.2],[[email protected]],[],[https://lib.filezilla-project.org/]) +AC_INIT([libfilezilla],[0.5.3],[[email protected]],[],[https://lib.filezilla-project.org/]) AC_CONFIG_HEADERS([lib/libfilezilla/private/config.hpp]) AC_CONFIG_MACRO_DIR([m4]) AC_CONFIG_AUX_DIR(config) @@ -24,6 +24,9 @@ CXX_COMPILE_STDCXX_14([],[mandatory]) CHECK_LIBCXX +# To make sure stat.st_size is a 64bit (or larger) value +AC_SYS_LARGEFILE + # libstdc++ as shipped with GCC 4.7 has a steady clock that isn't steady (who implements such crap?) CHECK_STEADY_CLOCK diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libfilezilla-0.5.2/lib/libfilezilla/private/config.hpp.in new/libfilezilla-0.5.3/lib/libfilezilla/private/config.hpp.in --- old/libfilezilla-0.5.2/lib/libfilezilla/private/config.hpp.in 2016-05-20 18:37:04.000000000 +0200 +++ new/libfilezilla-0.5.3/lib/libfilezilla/private/config.hpp.in 2016-06-20 10:12:42.000000000 +0200 @@ -111,3 +111,14 @@ /* Version number of package */ #undef VERSION + +/* Enable large inode numbers on Mac OS X 10.5. */ +#ifndef _DARWIN_USE_64_BIT_INODE +# define _DARWIN_USE_64_BIT_INODE 1 +#endif + +/* Number of bits in a file offset, on hosts where this is settable. */ +#undef _FILE_OFFSET_BITS + +/* Define for large files, on AIX-style hosts. */ +#undef _LARGE_FILES diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libfilezilla-0.5.2/lib/libfilezilla/string.hpp new/libfilezilla-0.5.3/lib/libfilezilla/string.hpp --- old/libfilezilla-0.5.2/lib/libfilezilla/string.hpp 2016-05-20 18:31:53.000000000 +0200 +++ new/libfilezilla-0.5.3/lib/libfilezilla/string.hpp 2016-06-20 10:08:07.000000000 +0200 @@ -227,6 +227,15 @@ */ #define fzS(Char, s) choose_string<Char>(s, L ## s) #endif + +/// Returns \c in with all occurrences of \c find in the input string replaced with \c replacement +std::string FZ_PUBLIC_SYMBOL replace_substrings(std::string const& in, std::string const& find, std::string const& replacement); +std::wstring FZ_PUBLIC_SYMBOL replace_substrings(std::wstring const& in, std::wstring const& find, std::wstring const& replacement); + +/// Modifies \c in, replacing all occurrences of \c find with \c replacement +void FZ_PUBLIC_SYMBOL replace_substrings(std::string& in, std::string const& find, std::string const& replacement); +void FZ_PUBLIC_SYMBOL replace_substrings(std::wstring& in, std::wstring const& find, std::wstring const& replacement); + } #endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libfilezilla-0.5.2/lib/libfilezilla/version.hpp new/libfilezilla-0.5.3/lib/libfilezilla/version.hpp --- old/libfilezilla-0.5.2/lib/libfilezilla/version.hpp 2016-05-20 18:37:04.000000000 +0200 +++ new/libfilezilla-0.5.3/lib/libfilezilla/version.hpp 2016-06-20 10:12:36.000000000 +0200 @@ -9,15 +9,15 @@ #include <tuple> /// \brief Version string of the libfilezilla headers -#define LIBFILEZILLA_VERSION "0.5.2" +#define LIBFILEZILLA_VERSION "0.5.3" #define LIBFILEZILLA_VERSION_MAJOR 0 #define LIBFILEZILLA_VERSION_MINOR 5 -#define LIBFILEZILLA_VERSION_MICRO 2 +#define LIBFILEZILLA_VERSION_MICRO 3 #define LIBFILEZILLA_VERSION_NANO 0 /// \brief Suffix string, e.g. "rc1" -#define LIBFILEZILLA_VERSION_SUFFIX "0.5.2" +#define LIBFILEZILLA_VERSION_SUFFIX "0.5.3" namespace fz { /// \brief Get version string of libfilezilla diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libfilezilla-0.5.2/lib/local_filesys.cpp new/libfilezilla-0.5.3/lib/local_filesys.cpp --- old/libfilezilla-0.5.2/lib/local_filesys.cpp 2016-04-15 09:52:15.000000000 +0200 +++ new/libfilezilla-0.5.3/lib/local_filesys.cpp 2016-06-20 10:08:07.000000000 +0200 @@ -188,6 +188,8 @@ } struct stat buf; + static_assert(sizeof(buf.st_size) >= 8, "The st_size member of struct stat must be 8 bytes or larger."); + int result = lstat(path.c_str(), &buf); if (result) { is_link = false; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libfilezilla-0.5.2/lib/string.cpp new/libfilezilla-0.5.3/lib/string.cpp --- old/libfilezilla-0.5.2/lib/string.cpp 2016-05-09 17:28:54.000000000 +0200 +++ new/libfilezilla-0.5.3/lib/string.cpp 2016-06-20 10:08:07.000000000 +0200 @@ -202,4 +202,40 @@ return ret; } +namespace { +template<typename String> +inline void do_replace_substrings(String& in, String const& find, String const& replacement) +{ + size_t pos = in.find(find); + while (pos != std::string::npos) { + in.replace(pos, find.size(), replacement); + pos = in.find(find, pos + replacement.size()); + } +} +} + +std::string replace_substrings(std::string const& in, std::string const& find, std::string const& replacement) +{ + std::string ret = in; + do_replace_substrings(ret, find, replacement); + return ret; +} + +std::wstring replace_substrings(std::wstring const& in, std::wstring const& find, std::wstring const& replacement) +{ + std::wstring ret = in; + do_replace_substrings(ret, find, replacement); + return ret; +} + +void replace_substrings(std::string& in, std::string const& find, std::string const& replacement) +{ + do_replace_substrings(in, find, replacement); +} + +void replace_substrings(std::wstring& in, std::wstring const& find, std::wstring const& replacement) +{ + do_replace_substrings(in, find, replacement); +} + }
