Hello community, here is the log from the commit of package libfilezilla for openSUSE:Factory checked in at 2016-11-24 21:22:24 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 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-10-18 10:42:54.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.libfilezilla.new/libfilezilla.changes 2016-11-24 21:22:25.000000000 +0100 @@ -1,0 +2,22 @@ +Sun Nov 20 20:34:29 UTC 2016 - [email protected] + +- update to 0.8.0 + * New features: + - Added fz::str_toupper_ascii to complement + fz::str_tolower_ascii + - Added fz::trim and fz::trimmed for removing leading and + trailing whitespace from string + - Added fz::str_is_ascii + * Bugfixes and minor changes: + - Fixed zero-padding for x and X string format conversion + specifiers + +- update to 0.7.1 + * Bugfixes and minor changes: + - OS X: Work around a nasty bug in XCode where programs + explicitly compiled for older versions of OS X were silently + pulling in features exclusive to the new version, resulting + in crashes at runtime + - MSW: Fix detection of thread creation failures + +------------------------------------------------------------------- Old: ---- libfilezilla-0.7.0.tar.bz2 New: ---- libfilezilla-0.8.0.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ libfilezilla.spec ++++++ --- /var/tmp/diff_new_pack.BraiQJ/_old 2016-11-24 21:22:26.000000000 +0100 +++ /var/tmp/diff_new_pack.BraiQJ/_new 2016-11-24 21:22:26.000000000 +0100 @@ -20,13 +20,13 @@ %define libname %{name}%{major} %define develname %{name}-devel Name: libfilezilla -Version: 0.7.0 +Version: 0.8.0 Release: 0 Summary: C++ library for filezilla License: GPL-2.0+ Group: System/Libraries Url: https://lib.filezilla-project.org/ -Source0: http://downloads.sourceforge.net/project/filezilla/libfilezilla/%{version}/%{name}-%{version}.tar.bz2 +Source0: http://download.filezilla-project.org/libfilezilla/%{name}-%{version}.tar.bz2 Source1: COPYING Patch0: libfilezilla-date-time.patch BuildRequires: autoconf ++++++ libfilezilla-0.7.0.tar.bz2 -> libfilezilla-0.8.0.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libfilezilla-0.7.0/Makefile.in new/libfilezilla-0.8.0/Makefile.in --- old/libfilezilla-0.7.0/Makefile.in 2016-09-24 15:18:34.000000000 +0200 +++ new/libfilezilla-0.8.0/Makefile.in 2016-10-25 15:06:53.000000000 +0200 @@ -92,8 +92,11 @@ $(top_srcdir)/config/install-sh $(top_srcdir)/config/ltmain.sh \ $(top_srcdir)/config/missing ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/ax_check_link_flag.m4 \ +am__aclocal_m4_deps = $(top_srcdir)/m4/ax_append_flag.m4 \ + $(top_srcdir)/m4/ax_check_compile_flag.m4 \ + $(top_srcdir)/m4/ax_check_link_flag.m4 \ $(top_srcdir)/m4/ax_prog_doxygen.m4 \ + $(top_srcdir)/m4/check_clock_gettime.m4 \ $(top_srcdir)/m4/check_iconv.m4 \ $(top_srcdir)/m4/check_libc++.m4 \ $(top_srcdir)/m4/check_steady_clock.m4 \ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libfilezilla-0.7.0/NEWS new/libfilezilla-0.8.0/NEWS --- old/libfilezilla-0.7.0/NEWS 2016-09-24 15:17:31.000000000 +0200 +++ new/libfilezilla-0.8.0/NEWS 2016-10-25 15:06:27.000000000 +0200 @@ -1,3 +1,15 @@ +0.8.0 (2016-10-25) + ++ Added fz::str_toupper_ascii to complement fz::str_tolower_ascii ++ Added fz::trim and fz::trimmed for removing leading and trailing whitespace from string ++ Added fz::str_is_ascii +- Fixed zero-padding for x and X string format conversion specifiers + +0.7.1 (2016-10-03) + +- OS X: Work around a nasty bug in XCode where programs explicitly compiled for older versions of OS X were silently pulling in features exclusive to the new version, resulting in crashes at runtime +- MSW: Fix detection of thread creation failures + 0.7.0 (2016-09-24) + Add fz::base64_decode and fz::base64_encode diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libfilezilla-0.7.0/aclocal.m4 new/libfilezilla-0.8.0/aclocal.m4 --- old/libfilezilla-0.7.0/aclocal.m4 2016-09-24 15:18:34.000000000 +0200 +++ new/libfilezilla-0.8.0/aclocal.m4 2016-10-25 15:06:53.000000000 +0200 @@ -1147,8 +1147,11 @@ AC_SUBST([am__untar]) ]) # _AM_PROG_TAR +m4_include([m4/ax_append_flag.m4]) +m4_include([m4/ax_check_compile_flag.m4]) m4_include([m4/ax_check_link_flag.m4]) m4_include([m4/ax_prog_doxygen.m4]) +m4_include([m4/check_clock_gettime.m4]) m4_include([m4/check_iconv.m4]) m4_include([m4/check_libc++.m4]) m4_include([m4/check_steady_clock.m4]) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libfilezilla-0.7.0/configure new/libfilezilla-0.8.0/configure --- old/libfilezilla-0.7.0/configure 2016-09-24 15:18:35.000000000 +0200 +++ new/libfilezilla-0.8.0/configure 2016-10-25 15:06:54.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.7.0. +# Generated by GNU Autoconf 2.69 for libfilezilla 0.8.0. # # Report bugs to <[email protected]>. # @@ -590,8 +590,8 @@ # Identity of this package. PACKAGE_NAME='libfilezilla' PACKAGE_TARNAME='libfilezilla' -PACKAGE_VERSION='0.7.0' -PACKAGE_STRING='libfilezilla 0.7.0' +PACKAGE_VERSION='0.8.0' +PACKAGE_STRING='libfilezilla 0.8.0' PACKAGE_BUGREPORT='[email protected]' PACKAGE_URL='https://lib.filezilla-project.org/' @@ -1396,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.7.0 to adapt to many kinds of systems. +\`configure' configures libfilezilla 0.8.0 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1466,7 +1466,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of libfilezilla 0.7.0:";; + short | recursive ) echo "Configuration of libfilezilla 0.8.0:";; esac cat <<\_ACEOF @@ -1591,7 +1591,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -libfilezilla configure 0.7.0 +libfilezilla configure 0.8.0 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -2036,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.7.0, which was +It was created by libfilezilla $as_me 0.8.0, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -2902,7 +2902,7 @@ # Define the identity of the package. PACKAGE='libfilezilla' - VERSION='0.7.0' + VERSION='0.8.0' cat >>confdefs.h <<_ACEOF @@ -15602,10 +15602,312 @@ rm -f confcache if test "X$GCC" = Xyes; then - CFLAGS="$CFLAGS -Wall -g" - CXXFLAGS="$CXXFLAGS -Wall -g" + +if ${CFLAGS+:} false; then : + + case " $CFLAGS " in #( + *" -Wall "*) : + { { $as_echo "$as_me:${as_lineno-$LINENO}: : CFLAGS already contains -Wall"; } >&5 + (: CFLAGS already contains -Wall) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } ;; #( + *) : + + as_fn_append CFLAGS " -Wall" + { { $as_echo "$as_me:${as_lineno-$LINENO}: : CFLAGS=\"\$CFLAGS\""; } >&5 + (: CFLAGS="$CFLAGS") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + ;; +esac + +else + + CFLAGS=-Wall + { { $as_echo "$as_me:${as_lineno-$LINENO}: : CFLAGS=\"\$CFLAGS\""; } >&5 + (: CFLAGS="$CFLAGS") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + +fi + + +if ${CFLAGS+:} false; then : + + case " $CFLAGS " in #( + *" -g "*) : + { { $as_echo "$as_me:${as_lineno-$LINENO}: : CFLAGS already contains -g"; } >&5 + (: CFLAGS already contains -g) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } ;; #( + *) : + + as_fn_append CFLAGS " -g" + { { $as_echo "$as_me:${as_lineno-$LINENO}: : CFLAGS=\"\$CFLAGS\""; } >&5 + (: CFLAGS="$CFLAGS") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + ;; +esac + +else + + CFLAGS=-g + { { $as_echo "$as_me:${as_lineno-$LINENO}: : CFLAGS=\"\$CFLAGS\""; } >&5 + (: CFLAGS="$CFLAGS") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + +fi + + +if ${CXXFLAGS+:} false; then : + + case " $CXXFLAGS " in #( + *" -Wall "*) : + { { $as_echo "$as_me:${as_lineno-$LINENO}: : CXXFLAGS already contains -Wall"; } >&5 + (: CXXFLAGS already contains -Wall) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } ;; #( + *) : + + as_fn_append CXXFLAGS " -Wall" + { { $as_echo "$as_me:${as_lineno-$LINENO}: : CXXFLAGS=\"\$CXXFLAGS\""; } >&5 + (: CXXFLAGS="$CXXFLAGS") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + ;; +esac + +else + + CXXFLAGS=-Wall + { { $as_echo "$as_me:${as_lineno-$LINENO}: : CXXFLAGS=\"\$CXXFLAGS\""; } >&5 + (: CXXFLAGS="$CXXFLAGS") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + +fi + + +if ${CXXFLAGS+:} false; then : + + case " $CXXFLAGS " in #( + *" -g "*) : + { { $as_echo "$as_me:${as_lineno-$LINENO}: : CXXFLAGS already contains -g"; } >&5 + (: CXXFLAGS already contains -g) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } ;; #( + *) : + + as_fn_append CXXFLAGS " -g" + { { $as_echo "$as_me:${as_lineno-$LINENO}: : CXXFLAGS=\"\$CXXFLAGS\""; } >&5 + (: CXXFLAGS="$CXXFLAGS") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + ;; +esac + +else + + CXXFLAGS=-g + { { $as_echo "$as_me:${as_lineno-$LINENO}: : CXXFLAGS=\"\$CXXFLAGS\""; } >&5 + (: CXXFLAGS="$CXXFLAGS") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + fi +fi + +# Do this early: Compiler and linker flags to work around a nasty bug in Xcode. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -Werror=partial-availability" >&5 +$as_echo_n "checking whether C compiler accepts -Werror=partial-availability... " >&6; } +if ${ax_cv_check_cflags___Werror_partial_availability+:} false; then : + $as_echo_n "(cached) " >&6 +else + + ax_check_save_flags=$CFLAGS + CFLAGS="$CFLAGS -Werror=partial-availability" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ax_cv_check_cflags___Werror_partial_availability=yes +else + ax_cv_check_cflags___Werror_partial_availability=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + CFLAGS=$ax_check_save_flags +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___Werror_partial_availability" >&5 +$as_echo "$ax_cv_check_cflags___Werror_partial_availability" >&6; } +if test "x$ax_cv_check_cflags___Werror_partial_availability" = xyes; then : + + # This warning should be on by default yet it's not even enabled by -Wall. Apple screwed up big time. + +if ${CFLAGS+:} false; then : + + case " $CFLAGS " in #( + *" -Werror=partial-availability "*) : + { { $as_echo "$as_me:${as_lineno-$LINENO}: : CFLAGS already contains -Werror=partial-availability"; } >&5 + (: CFLAGS already contains -Werror=partial-availability) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } ;; #( + *) : + + as_fn_append CFLAGS " -Werror=partial-availability" + { { $as_echo "$as_me:${as_lineno-$LINENO}: : CFLAGS=\"\$CFLAGS\""; } >&5 + (: CFLAGS="$CFLAGS") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + ;; +esac + +else + + CFLAGS=-Werror=partial-availability + { { $as_echo "$as_me:${as_lineno-$LINENO}: : CFLAGS=\"\$CFLAGS\""; } >&5 + (: CFLAGS="$CFLAGS") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + +fi + + +if ${CXXFLAGS+:} false; then : + + case " $CXXFLAGS " in #( + *" -Werror=partial-availability "*) : + { { $as_echo "$as_me:${as_lineno-$LINENO}: : CXXFLAGS already contains -Werror=partial-availability"; } >&5 + (: CXXFLAGS already contains -Werror=partial-availability) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } ;; #( + *) : + + as_fn_append CXXFLAGS " -Werror=partial-availability" + { { $as_echo "$as_me:${as_lineno-$LINENO}: : CXXFLAGS=\"\$CXXFLAGS\""; } >&5 + (: CXXFLAGS="$CXXFLAGS") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + ;; +esac + +else + + CXXFLAGS=-Werror=partial-availability + { { $as_echo "$as_me:${as_lineno-$LINENO}: : CXXFLAGS=\"\$CXXFLAGS\""; } >&5 + (: CXXFLAGS="$CXXFLAGS") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + +fi + + +else + : +fi + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the linker accepts -Wl,-no_weak_imports" >&5 +$as_echo_n "checking whether the linker accepts -Wl,-no_weak_imports... " >&6; } +if ${ax_cv_check_ldflags___Wl__no_weak_imports+:} false; then : + $as_echo_n "(cached) " >&6 +else + + ax_check_save_flags=$LDFLAGS + LDFLAGS="$LDFLAGS -Wl,-no_weak_imports" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ax_cv_check_ldflags___Wl__no_weak_imports=yes +else + ax_cv_check_ldflags___Wl__no_weak_imports=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LDFLAGS=$ax_check_save_flags +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_ldflags___Wl__no_weak_imports" >&5 +$as_echo "$ax_cv_check_ldflags___Wl__no_weak_imports" >&6; } +if test "x$ax_cv_check_ldflags___Wl__no_weak_imports" = xyes; then : + + # If the programmer wants weak symbols he would just used dlopen/dlsym + # But not so on Apple systems where even basic functions like clock_gettime can + # be randomly missing at runtime. + +if ${LFDLAGS+:} false; then : + + case " $LFDLAGS " in #( + *" -Wl,-no_weak_imports "*) : + { { $as_echo "$as_me:${as_lineno-$LINENO}: : LFDLAGS already contains -Wl,-no_weak_imports"; } >&5 + (: LFDLAGS already contains -Wl,-no_weak_imports) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } ;; #( + *) : + + as_fn_append LFDLAGS " -Wl,-no_weak_imports" + { { $as_echo "$as_me:${as_lineno-$LINENO}: : LFDLAGS=\"\$LFDLAGS\""; } >&5 + (: LFDLAGS="$LFDLAGS") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + ;; +esac + +else + + LFDLAGS=-Wl,-no_weak_imports + { { $as_echo "$as_me:${as_lineno-$LINENO}: : LFDLAGS=\"\$LFDLAGS\""; } >&5 + (: LFDLAGS="$LFDLAGS") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + +fi + + +else + : +fi + + # Check for C++14 support cxx_compile_cxx14_required=true ac_ext=cpp @@ -16508,16 +16810,46 @@ -for ac_func in clock_gettime -do : - ac_fn_c_check_func "$LINENO" "clock_gettime" "ac_cv_func_clock_gettime" -if test "x$ac_cv_func_clock_gettime" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_CLOCK_GETTIME 1 + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for clock_gettime" >&5 +$as_echo_n "checking for clock_gettime... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + + #include <time.h> + +int +main () +{ + + (void)clock_gettime; + return 0; + + ; + return 0; +} + _ACEOF +if ac_fn_c_try_link "$LINENO"; then : + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + +$as_echo "#define HAVE_CLOCK_GETTIME 1" >>confdefs.h + + : + +else + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + : fi -done +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + ac_fn_c_check_decl "$LINENO" "pthread_condattr_setclock" "ac_cv_have_decl_pthread_condattr_setclock" "#include <pthread.h> " @@ -16843,7 +17175,38 @@ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_ldflags___Wl___dynamicbase" >&5 $as_echo "$ax_cv_check_ldflags___Wl___dynamicbase" >&6; } if test "x$ax_cv_check_ldflags___Wl___dynamicbase" = xyes; then : - LDFLAGS="$LDFLAGS -Wl,--dynamicbase" + +if ${LDFLAGS+:} false; then : + + case " $LDFLAGS " in #( + *" -Wl,--dynamicbase "*) : + { { $as_echo "$as_me:${as_lineno-$LINENO}: : LDFLAGS already contains -Wl,--dynamicbase"; } >&5 + (: LDFLAGS already contains -Wl,--dynamicbase) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } ;; #( + *) : + + as_fn_append LDFLAGS " -Wl,--dynamicbase" + { { $as_echo "$as_me:${as_lineno-$LINENO}: : LDFLAGS=\"\$LDFLAGS\""; } >&5 + (: LDFLAGS="$LDFLAGS") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + ;; +esac + +else + + LDFLAGS=-Wl,--dynamicbase + { { $as_echo "$as_me:${as_lineno-$LINENO}: : LDFLAGS=\"\$LDFLAGS\""; } >&5 + (: LDFLAGS="$LDFLAGS") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + +fi + else : fi @@ -16879,7 +17242,38 @@ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_ldflags___Wl___nxcompat" >&5 $as_echo "$ax_cv_check_ldflags___Wl___nxcompat" >&6; } if test "x$ax_cv_check_ldflags___Wl___nxcompat" = xyes; then : - LDFLAGS="$LDFLAGS -Wl,--nxcompat" + +if ${LDFLAGS+:} false; then : + + case " $LDFLAGS " in #( + *" -Wl,--nxcompat "*) : + { { $as_echo "$as_me:${as_lineno-$LINENO}: : LDFLAGS already contains -Wl,--nxcompat"; } >&5 + (: LDFLAGS already contains -Wl,--nxcompat) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } ;; #( + *) : + + as_fn_append LDFLAGS " -Wl,--nxcompat" + { { $as_echo "$as_me:${as_lineno-$LINENO}: : LDFLAGS=\"\$LDFLAGS\""; } >&5 + (: LDFLAGS="$LDFLAGS") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + ;; +esac + +else + + LDFLAGS=-Wl,--nxcompat + { { $as_echo "$as_me:${as_lineno-$LINENO}: : LDFLAGS=\"\$LDFLAGS\""; } >&5 + (: LDFLAGS="$LDFLAGS") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + +fi + else : fi @@ -16920,7 +17314,38 @@ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_ldflags___Wl___major_subsystem_version__Wl_6" >&5 $as_echo "$ax_cv_check_ldflags___Wl___major_subsystem_version__Wl_6" >&6; } if test "x$ax_cv_check_ldflags___Wl___major_subsystem_version__Wl_6" = xyes; then : - LDFLAGS="$LDFLAGS -Wl,--major-subsystem-version -Wl,6" + +if ${LDFLAGS+:} false; then : + + case " $LDFLAGS " in #( + *" -Wl,--major-subsystem-version -Wl,6 "*) : + { { $as_echo "$as_me:${as_lineno-$LINENO}: : LDFLAGS already contains -Wl,--major-subsystem-version -Wl,6"; } >&5 + (: LDFLAGS already contains -Wl,--major-subsystem-version -Wl,6) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } ;; #( + *) : + + as_fn_append LDFLAGS " -Wl,--major-subsystem-version -Wl,6" + { { $as_echo "$as_me:${as_lineno-$LINENO}: : LDFLAGS=\"\$LDFLAGS\""; } >&5 + (: LDFLAGS="$LDFLAGS") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + ;; +esac + +else + + LDFLAGS=-Wl,--major-subsystem-version -Wl,6 + { { $as_echo "$as_me:${as_lineno-$LINENO}: : LDFLAGS=\"\$LDFLAGS\""; } >&5 + (: LDFLAGS="$LDFLAGS") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + +fi + else : fi @@ -16956,7 +17381,38 @@ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_ldflags___Wl___minor_subsystem_version__Wl_0" >&5 $as_echo "$ax_cv_check_ldflags___Wl___minor_subsystem_version__Wl_0" >&6; } if test "x$ax_cv_check_ldflags___Wl___minor_subsystem_version__Wl_0" = xyes; then : - LDFLAGS="$LDFLAGS -Wl,--minor-subsystem-version -Wl,0" + +if ${LDFLAGS+:} false; then : + + case " $LDFLAGS " in #( + *" -Wl,--minor-subsystem-version -Wl,0 "*) : + { { $as_echo "$as_me:${as_lineno-$LINENO}: : LDFLAGS already contains -Wl,--minor-subsystem-version -Wl,0"; } >&5 + (: LDFLAGS already contains -Wl,--minor-subsystem-version -Wl,0) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } ;; #( + *) : + + as_fn_append LDFLAGS " -Wl,--minor-subsystem-version -Wl,0" + { { $as_echo "$as_me:${as_lineno-$LINENO}: : LDFLAGS=\"\$LDFLAGS\""; } >&5 + (: LDFLAGS="$LDFLAGS") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + ;; +esac + +else + + LDFLAGS=-Wl,--minor-subsystem-version -Wl,0 + { { $as_echo "$as_me:${as_lineno-$LINENO}: : LDFLAGS=\"\$LDFLAGS\""; } >&5 + (: LDFLAGS="$LDFLAGS") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + +fi + else : fi @@ -16992,7 +17448,38 @@ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_ldflags___Wl___major_os_version__Wl_6" >&5 $as_echo "$ax_cv_check_ldflags___Wl___major_os_version__Wl_6" >&6; } if test "x$ax_cv_check_ldflags___Wl___major_os_version__Wl_6" = xyes; then : - LDFLAGS="$LDFLAGS -Wl,--major-os-version -Wl,6" + +if ${LDFLAGS+:} false; then : + + case " $LDFLAGS " in #( + *" -Wl,--major-os-version -Wl,6 "*) : + { { $as_echo "$as_me:${as_lineno-$LINENO}: : LDFLAGS already contains -Wl,--major-os-version -Wl,6"; } >&5 + (: LDFLAGS already contains -Wl,--major-os-version -Wl,6) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } ;; #( + *) : + + as_fn_append LDFLAGS " -Wl,--major-os-version -Wl,6" + { { $as_echo "$as_me:${as_lineno-$LINENO}: : LDFLAGS=\"\$LDFLAGS\""; } >&5 + (: LDFLAGS="$LDFLAGS") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + ;; +esac + +else + + LDFLAGS=-Wl,--major-os-version -Wl,6 + { { $as_echo "$as_me:${as_lineno-$LINENO}: : LDFLAGS=\"\$LDFLAGS\""; } >&5 + (: LDFLAGS="$LDFLAGS") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + +fi + else : fi @@ -17028,7 +17515,38 @@ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_ldflags___Wl___minor_os_version__Wl_0" >&5 $as_echo "$ax_cv_check_ldflags___Wl___minor_os_version__Wl_0" >&6; } if test "x$ax_cv_check_ldflags___Wl___minor_os_version__Wl_0" = xyes; then : - LDFLAGS="$LDFLAGS -Wl,--minor-os-version -Wl,0" + +if ${LDFLAGS+:} false; then : + + case " $LDFLAGS " in #( + *" -Wl,--minor-os-version -Wl,0 "*) : + { { $as_echo "$as_me:${as_lineno-$LINENO}: : LDFLAGS already contains -Wl,--minor-os-version -Wl,0"; } >&5 + (: LDFLAGS already contains -Wl,--minor-os-version -Wl,0) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } ;; #( + *) : + + as_fn_append LDFLAGS " -Wl,--minor-os-version -Wl,0" + { { $as_echo "$as_me:${as_lineno-$LINENO}: : LDFLAGS=\"\$LDFLAGS\""; } >&5 + (: LDFLAGS="$LDFLAGS") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + ;; +esac + +else + + LDFLAGS=-Wl,--minor-os-version -Wl,0 + { { $as_echo "$as_me:${as_lineno-$LINENO}: : LDFLAGS=\"\$LDFLAGS\""; } >&5 + (: LDFLAGS="$LDFLAGS") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + +fi + else : fi @@ -17067,7 +17585,38 @@ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_ldflags___Wl___large_address_aware" >&5 $as_echo "$ax_cv_check_ldflags___Wl___large_address_aware" >&6; } if test "x$ax_cv_check_ldflags___Wl___large_address_aware" = xyes; then : - LDFLAGS="$LDFLAGS -Wl,--large-address-aware" + +if ${LDFLAGS+:} false; then : + + case " $LDFLAGS " in #( + *" -Wl,--large-address-aware "*) : + { { $as_echo "$as_me:${as_lineno-$LINENO}: : LDFLAGS already contains -Wl,--large-address-aware"; } >&5 + (: LDFLAGS already contains -Wl,--large-address-aware) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } ;; #( + *) : + + as_fn_append LDFLAGS " -Wl,--large-address-aware" + { { $as_echo "$as_me:${as_lineno-$LINENO}: : LDFLAGS=\"\$LDFLAGS\""; } >&5 + (: LDFLAGS="$LDFLAGS") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + ;; +esac + +else + + LDFLAGS=-Wl,--large-address-aware + { { $as_echo "$as_me:${as_lineno-$LINENO}: : LDFLAGS=\"\$LDFLAGS\""; } >&5 + (: LDFLAGS="$LDFLAGS") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + +fi + else : fi @@ -19665,7 +20214,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.7.0, which was +This file was extended by libfilezilla $as_me 0.8.0, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -19732,7 +20281,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.7.0 +libfilezilla config.status 0.8.0 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.7.0/configure.ac new/libfilezilla-0.8.0/configure.ac --- old/libfilezilla-0.7.0/configure.ac 2016-09-24 15:14:28.000000000 +0200 +++ new/libfilezilla-0.8.0/configure.ac 2016-10-25 15:04:02.000000000 +0200 @@ -1,4 +1,4 @@ -AC_INIT([libfilezilla],[0.7.0],[[email protected]],[],[https://lib.filezilla-project.org/]) +AC_INIT([libfilezilla],[0.8.0],[[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) @@ -16,9 +16,25 @@ AC_CACHE_SAVE if test "X$GCC" = Xyes; then - CFLAGS="$CFLAGS -Wall -g" - CXXFLAGS="$CXXFLAGS -Wall -g" -fi + AX_APPEND_FLAG(-Wall, CFLAGS) + AX_APPEND_FLAG(-g, CFLAGS) + AX_APPEND_FLAG(-Wall, CXXFLAGS) + AX_APPEND_FLAG(-g, CXXFLAGS) +fi + +# Do this early: Compiler and linker flags to work around a nasty bug in Xcode. +AX_CHECK_COMPILE_FLAG([-Werror=partial-availability], [ + # This warning should be on by default yet it's not even enabled by -Wall. Apple screwed up big time. + AX_APPEND_FLAG(-Werror=partial-availability, CFLAGS) + AX_APPEND_FLAG(-Werror=partial-availability, CXXFLAGS) +]) + +AX_CHECK_LINK_FLAG([-Wl,-no_weak_imports], [ + # If the programmer wants weak symbols he would just used dlopen/dlsym + # But not so on Apple systems where even basic functions like clock_gettime can + # be randomly missing at runtime. + AX_APPEND_FLAG([-Wl,-no_weak_imports], LFDLAGS) +]) # Check for C++14 support CXX_COMPILE_STDCXX_14([],[mandatory]) @@ -46,7 +62,8 @@ CHECK_THREADSAFE_GMTIME CHECK_INVERSE_GMTIME -AC_CHECK_FUNCS([clock_gettime]) +CHECK_CLOCK_GETTIME + AC_CHECK_DECLS([pthread_condattr_setclock], [], [], [[#include <pthread.h>]]) # Check if we're on Windows @@ -143,21 +160,21 @@ # Enable DEP and ASLR linker flags # -------------------------------- -AX_CHECK_LINK_FLAG([-Wl,--dynamicbase], [LDFLAGS="$LDFLAGS -Wl,--dynamicbase"]) -AX_CHECK_LINK_FLAG([-Wl,--nxcompat], [LDFLAGS="$LDFLAGS -Wl,--nxcompat"]) +AX_CHECK_LINK_FLAG([-Wl,--dynamicbase], [AX_APPEND_FLAG([-Wl,--dynamicbase], LDFLAGS)]) +AX_CHECK_LINK_FLAG([-Wl,--nxcompat], [AX_APPEND_FLAG([-Wl,--nxcompat], LDFLAGS)]) # Set Windows-specific linker flags # --------------------------------- if test "$windows" = 1 > /dev/null 2>&1; then # We currently require Vista minimum. - AX_CHECK_LINK_FLAG([-Wl,--major-subsystem-version -Wl,6], [LDFLAGS="$LDFLAGS -Wl,--major-subsystem-version -Wl,6"]) - AX_CHECK_LINK_FLAG([-Wl,--minor-subsystem-version -Wl,0], [LDFLAGS="$LDFLAGS -Wl,--minor-subsystem-version -Wl,0"]) - AX_CHECK_LINK_FLAG([-Wl,--major-os-version -Wl,6], [LDFLAGS="$LDFLAGS -Wl,--major-os-version -Wl,6"]) - AX_CHECK_LINK_FLAG([-Wl,--minor-os-version -Wl,0], [LDFLAGS="$LDFLAGS -Wl,--minor-os-version -Wl,0"]) + AX_CHECK_LINK_FLAG([-Wl,--major-subsystem-version -Wl,6], [AX_APPEND_FLAG([-Wl,--major-subsystem-version -Wl,6], LDFLAGS)]) + AX_CHECK_LINK_FLAG([-Wl,--minor-subsystem-version -Wl,0], [AX_APPEND_FLAG([-Wl,--minor-subsystem-version -Wl,0], LDFLAGS)]) + AX_CHECK_LINK_FLAG([-Wl,--major-os-version -Wl,6], [AX_APPEND_FLAG([-Wl,--major-os-version -Wl,6], LDFLAGS)]) + AX_CHECK_LINK_FLAG([-Wl,--minor-os-version -Wl,0], [AX_APPEND_FLAG([-Wl,--minor-os-version -Wl,0], LDFLAGS)]) # Set the Large Address Aware flag on 32bit Windows if ! echo $host_cpu | grep "x86_64" > /dev/null 2>&1; then - AX_CHECK_LINK_FLAG([-Wl,--large-address-aware], [LDFLAGS="$LDFLAGS -Wl,--large-address-aware"]) + AX_CHECK_LINK_FLAG([-Wl,--large-address-aware], [AX_APPEND_FLAG([-Wl,--large-address-aware], LDFLAGS)]) fi fi diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libfilezilla-0.7.0/demos/Makefile.in new/libfilezilla-0.8.0/demos/Makefile.in --- old/libfilezilla-0.7.0/demos/Makefile.in 2016-09-24 15:18:34.000000000 +0200 +++ new/libfilezilla-0.8.0/demos/Makefile.in 2016-10-25 15:06:53.000000000 +0200 @@ -85,8 +85,11 @@ DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ $(top_srcdir)/config/depcomp $(dist_noinst_DATA) ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/ax_check_link_flag.m4 \ +am__aclocal_m4_deps = $(top_srcdir)/m4/ax_append_flag.m4 \ + $(top_srcdir)/m4/ax_check_compile_flag.m4 \ + $(top_srcdir)/m4/ax_check_link_flag.m4 \ $(top_srcdir)/m4/ax_prog_doxygen.m4 \ + $(top_srcdir)/m4/check_clock_gettime.m4 \ $(top_srcdir)/m4/check_iconv.m4 \ $(top_srcdir)/m4/check_libc++.m4 \ $(top_srcdir)/m4/check_steady_clock.m4 \ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libfilezilla-0.7.0/doc/Makefile.in new/libfilezilla-0.8.0/doc/Makefile.in --- old/libfilezilla-0.7.0/doc/Makefile.in 2016-09-24 15:18:34.000000000 +0200 +++ new/libfilezilla-0.8.0/doc/Makefile.in 2016-10-25 15:06:53.000000000 +0200 @@ -83,8 +83,11 @@ $(dist_noinst_DATA) subdir = doc ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/ax_check_link_flag.m4 \ +am__aclocal_m4_deps = $(top_srcdir)/m4/ax_append_flag.m4 \ + $(top_srcdir)/m4/ax_check_compile_flag.m4 \ + $(top_srcdir)/m4/ax_check_link_flag.m4 \ $(top_srcdir)/m4/ax_prog_doxygen.m4 \ + $(top_srcdir)/m4/check_clock_gettime.m4 \ $(top_srcdir)/m4/check_iconv.m4 \ $(top_srcdir)/m4/check_libc++.m4 \ $(top_srcdir)/m4/check_steady_clock.m4 \ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libfilezilla-0.7.0/lib/Makefile.in new/libfilezilla-0.8.0/lib/Makefile.in --- old/libfilezilla-0.7.0/lib/Makefile.in 2016-09-24 15:18:35.000000000 +0200 +++ new/libfilezilla-0.8.0/lib/Makefile.in 2016-10-25 15:06:53.000000000 +0200 @@ -85,8 +85,11 @@ $(srcdir)/libfilezilla.pc.in $(top_srcdir)/config/depcomp \ $(dist_noinst_DATA) $(nobase_include_HEADERS) ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/ax_check_link_flag.m4 \ +am__aclocal_m4_deps = $(top_srcdir)/m4/ax_append_flag.m4 \ + $(top_srcdir)/m4/ax_check_compile_flag.m4 \ + $(top_srcdir)/m4/ax_check_link_flag.m4 \ $(top_srcdir)/m4/ax_prog_doxygen.m4 \ + $(top_srcdir)/m4/check_clock_gettime.m4 \ $(top_srcdir)/m4/check_iconv.m4 \ $(top_srcdir)/m4/check_libc++.m4 \ $(top_srcdir)/m4/check_steady_clock.m4 \ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libfilezilla-0.7.0/lib/libfilezilla/format.hpp new/libfilezilla-0.8.0/lib/libfilezilla/format.hpp --- old/libfilezilla-0.7.0/lib/libfilezilla/format.hpp 2016-09-24 15:14:12.000000000 +0200 +++ new/libfilezilla-0.8.0/lib/libfilezilla/format.hpp 2016-10-25 15:03:50.000000000 +0200 @@ -193,7 +193,7 @@ s += String(width - s.size(), ' '); } else { - s = String(width - s.size(), ' ') + s; + s = String(width - s.size(), (flags & pad_0) ? '0' : ' ') + s; } } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libfilezilla-0.7.0/lib/libfilezilla/private/config.hpp.in new/libfilezilla-0.8.0/lib/libfilezilla/private/config.hpp.in --- old/libfilezilla-0.7.0/lib/libfilezilla/private/config.hpp.in 2016-09-24 15:18:37.000000000 +0200 +++ new/libfilezilla-0.8.0/lib/libfilezilla/private/config.hpp.in 2016-10-25 15:09:41.000000000 +0200 @@ -1,6 +1,6 @@ /* lib/libfilezilla/private/config.hpp.in. Generated from configure.ac by autoheader. */ -/* Define to 1 if you have the `clock_gettime' function. */ +/* clock_gettime can be used */ #undef HAVE_CLOCK_GETTIME /* define if the compiler supports basic C++14 syntax */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libfilezilla-0.7.0/lib/libfilezilla/string.hpp new/libfilezilla-0.8.0/lib/libfilezilla/string.hpp --- old/libfilezilla-0.7.0/lib/libfilezilla/string.hpp 2016-09-24 15:14:12.000000000 +0200 +++ new/libfilezilla-0.8.0/lib/libfilezilla/string.hpp 2016-10-25 15:03:50.000000000 +0200 @@ -83,6 +83,18 @@ template<> std::wstring::value_type FZ_PUBLIC_SYMBOL tolower_ascii(std::wstring::value_type c); +/// \brief Converts ASCII lowercase characters to uppercase as if C-locale is used. +template<typename Char> +Char toupper_ascii(Char c) { + if (c >= 'a' && c <= 'z') { + return c + ('A' - 'a'); + } + return c; +} + +template<> +std::wstring::value_type FZ_PUBLIC_SYMBOL toupper_ascii(std::wstring::value_type c); + /** \brief tr_tolower_ascii does for strings what tolower_ascii does for individual characters */ // Note: For UTF-8 strings it works on individual octets! @@ -96,6 +108,16 @@ return ret; } +template<typename String> +String str_toupper_ascii(String const& s) +{ + String ret = s; + for (auto& c : ret) { + c = toupper_ascii(c); + } + return ret; +} + /** \brief Converts from std::string in system encoding into std::wstring * * \return the converted string on success. On failure an empty string is returned. @@ -318,6 +340,40 @@ } } +/// \brief Returns true iff the string only has characters in the 7-bit ASCII range +template<typename String> +bool str_is_ascii(String const& s) { + for (auto const& c : s) { + if (static_cast<std::make_unsigned_t<typename String::value_type>>(c) > 127) { + return false; + } + } + + return true; +} + +/// \brief Return passed string with all leading and trailing whitespace removed +template<typename String> +String trimmed(String const& s) { + size_t const first = s.find_first_not_of(fzS(typename String::value_type, " \r\n\t")); + if (first == String::npos) { + return String(); + } + else { + // Cannot be npos + size_t const last = s.find_last_not_of(fzS(typename String::value_type, " \r\n\t")); + + return s.substr(first, last - first + 1); + } +} + + +/// \brief Remove all leading and trailing whitespace from string +template<typename String> +void trim(String & s) { + s = trimmed(s); +} + } #endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libfilezilla-0.7.0/lib/libfilezilla/version.hpp new/libfilezilla-0.8.0/lib/libfilezilla/version.hpp --- old/libfilezilla-0.7.0/lib/libfilezilla/version.hpp 2016-09-24 15:18:37.000000000 +0200 +++ new/libfilezilla-0.8.0/lib/libfilezilla/version.hpp 2016-10-25 15:06:56.000000000 +0200 @@ -9,15 +9,15 @@ #include <tuple> /// \brief Version string of the libfilezilla headers -#define LIBFILEZILLA_VERSION "0.7.0" +#define LIBFILEZILLA_VERSION "0.8.0" #define LIBFILEZILLA_VERSION_MAJOR 0 -#define LIBFILEZILLA_VERSION_MINOR 7 +#define LIBFILEZILLA_VERSION_MINOR 8 #define LIBFILEZILLA_VERSION_MICRO 0 #define LIBFILEZILLA_VERSION_NANO 0 /// \brief Suffix string, e.g. "rc1" -#define LIBFILEZILLA_VERSION_SUFFIX "0.7.0" +#define LIBFILEZILLA_VERSION_SUFFIX "0.8.0" namespace fz { /// \brief Get version string of libfilezilla diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libfilezilla-0.7.0/lib/process.cpp new/libfilezilla-0.8.0/lib/process.cpp --- old/libfilezilla-0.7.0/lib/process.cpp 2016-07-20 10:41:55.000000000 +0200 +++ new/libfilezilla-0.8.0/lib/process.cpp 2016-10-25 15:03:50.000000000 +0200 @@ -13,7 +13,7 @@ CloseHandle(handle); handle = INVALID_HANDLE_VALUE; } -}; +} bool uninherit(HANDLE& handle) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libfilezilla-0.7.0/lib/string.cpp new/libfilezilla-0.8.0/lib/string.cpp --- old/libfilezilla-0.7.0/lib/string.cpp 2016-09-24 15:14:12.000000000 +0200 +++ new/libfilezilla-0.8.0/lib/string.cpp 2016-10-25 15:03:50.000000000 +0200 @@ -72,6 +72,18 @@ return c; } +template<> +std::wstring::value_type toupper_ascii(std::wstring::value_type c) +{ + if (c >= 'a' && c <= 'z') { + return c + ('A' - 'a'); + } + else if (c == 0x130 || c == 0x131) { + c = 'I'; + } + return c; +} + std::wstring to_wstring(std::string const& in) { std::mbstate_t ps{}; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libfilezilla-0.7.0/lib/thread.cpp new/libfilezilla-0.8.0/lib/thread.cpp --- old/libfilezilla-0.7.0/lib/thread.cpp 2015-11-02 14:47:31.000000000 +0100 +++ new/libfilezilla-0.8.0/lib/thread.cpp 2016-10-03 15:34:49.000000000 +0200 @@ -88,7 +88,10 @@ impl_->handle_ = reinterpret_cast<HANDLE>(_beginthreadex(0, 0, thread_proc, impl_, 0, 0)); } - if (impl_->handle_ == INVALID_HANDLE_VALUE) { + // _beginthreadex returns 0 on error, whereas _beginthread returns -1 + // According to MSDN, _beginthreadex can also return -1 if invalid parameters are passed to it, + // so we check that as well. + if (!impl_->handle_ || impl_->handle_ == INVALID_HANDLE_VALUE) { delete impl_; impl_ = 0; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libfilezilla-0.7.0/m4/ax_append_flag.m4 new/libfilezilla-0.8.0/m4/ax_append_flag.m4 --- old/libfilezilla-0.7.0/m4/ax_append_flag.m4 1970-01-01 01:00:00.000000000 +0100 +++ new/libfilezilla-0.8.0/m4/ax_append_flag.m4 2016-10-03 15:34:49.000000000 +0200 @@ -0,0 +1,71 @@ +# =========================================================================== +# http://www.gnu.org/software/autoconf-archive/ax_append_flag.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_APPEND_FLAG(FLAG, [FLAGS-VARIABLE]) +# +# DESCRIPTION +# +# FLAG is appended to the FLAGS-VARIABLE shell variable, with a space +# added in between. +# +# If FLAGS-VARIABLE is not specified, the current language's flags (e.g. +# CFLAGS) is used. FLAGS-VARIABLE is not changed if it already contains +# FLAG. If FLAGS-VARIABLE is unset in the shell, it is set to exactly +# FLAG. +# +# NOTE: Implementation based on AX_CFLAGS_GCC_OPTION. +# +# LICENSE +# +# Copyright (c) 2008 Guido U. Draheim <[email protected]> +# Copyright (c) 2011 Maarten Bosmans <[email protected]> +# +# This program is free software: you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation, either version 3 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see <http://www.gnu.org/licenses/>. +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 6 + +AC_DEFUN([AX_APPEND_FLAG], +[dnl +AC_PREREQ(2.64)dnl for _AC_LANG_PREFIX and AS_VAR_SET_IF +AS_VAR_PUSHDEF([FLAGS], [m4_default($2,_AC_LANG_PREFIX[FLAGS])]) +AS_VAR_SET_IF(FLAGS,[ + AS_CASE([" AS_VAR_GET(FLAGS) "], + [*" $1 "*], [AC_RUN_LOG([: FLAGS already contains $1])], + [ + AS_VAR_APPEND(FLAGS,[" $1"]) + AC_RUN_LOG([: FLAGS="$FLAGS"]) + ]) + ], + [ + AS_VAR_SET(FLAGS,[$1]) + AC_RUN_LOG([: FLAGS="$FLAGS"]) + ]) +AS_VAR_POPDEF([FLAGS])dnl +])dnl AX_APPEND_FLAG diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libfilezilla-0.7.0/m4/ax_check_compile_flag.m4 new/libfilezilla-0.8.0/m4/ax_check_compile_flag.m4 --- old/libfilezilla-0.7.0/m4/ax_check_compile_flag.m4 1970-01-01 01:00:00.000000000 +0100 +++ new/libfilezilla-0.8.0/m4/ax_check_compile_flag.m4 2016-10-03 15:34:49.000000000 +0200 @@ -0,0 +1,74 @@ +# =========================================================================== +# http://www.gnu.org/software/autoconf-archive/ax_check_compile_flag.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CHECK_COMPILE_FLAG(FLAG, [ACTION-SUCCESS], [ACTION-FAILURE], [EXTRA-FLAGS], [INPUT]) +# +# DESCRIPTION +# +# Check whether the given FLAG works with the current language's compiler +# or gives an error. (Warnings, however, are ignored) +# +# ACTION-SUCCESS/ACTION-FAILURE are shell commands to execute on +# success/failure. +# +# If EXTRA-FLAGS is defined, it is added to the current language's default +# flags (e.g. CFLAGS) when the check is done. The check is thus made with +# the flags: "CFLAGS EXTRA-FLAGS FLAG". This can for example be used to +# force the compiler to issue an error when a bad flag is given. +# +# INPUT gives an alternative input source to AC_COMPILE_IFELSE. +# +# NOTE: Implementation based on AX_CFLAGS_GCC_OPTION. Please keep this +# macro in sync with AX_CHECK_{PREPROC,LINK}_FLAG. +# +# LICENSE +# +# Copyright (c) 2008 Guido U. Draheim <[email protected]> +# Copyright (c) 2011 Maarten Bosmans <[email protected]> +# +# This program is free software: you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation, either version 3 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see <http://www.gnu.org/licenses/>. +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 4 + +AC_DEFUN([AX_CHECK_COMPILE_FLAG], +[AC_PREREQ(2.64)dnl for _AC_LANG_PREFIX and AS_VAR_IF +AS_VAR_PUSHDEF([CACHEVAR],[ax_cv_check_[]_AC_LANG_ABBREV[]flags_$4_$1])dnl +AC_CACHE_CHECK([whether _AC_LANG compiler accepts $1], CACHEVAR, [ + ax_check_save_flags=$[]_AC_LANG_PREFIX[]FLAGS + _AC_LANG_PREFIX[]FLAGS="$[]_AC_LANG_PREFIX[]FLAGS $4 $1" + AC_COMPILE_IFELSE([m4_default([$5],[AC_LANG_PROGRAM()])], + [AS_VAR_SET(CACHEVAR,[yes])], + [AS_VAR_SET(CACHEVAR,[no])]) + _AC_LANG_PREFIX[]FLAGS=$ax_check_save_flags]) +AS_VAR_IF(CACHEVAR,yes, + [m4_default([$2], :)], + [m4_default([$3], :)]) +AS_VAR_POPDEF([CACHEVAR])dnl +])dnl AX_CHECK_COMPILE_FLAGS diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libfilezilla-0.7.0/m4/check_clock_gettime.m4 new/libfilezilla-0.8.0/m4/check_clock_gettime.m4 --- old/libfilezilla-0.7.0/m4/check_clock_gettime.m4 1970-01-01 01:00:00.000000000 +0100 +++ new/libfilezilla-0.8.0/m4/check_clock_gettime.m4 2016-10-03 15:34:49.000000000 +0200 @@ -0,0 +1,25 @@ +# Checks whether clock_gettime is available. +# Defines HAVE_CLOCK_GETTIME if it is. +# +# CHECK_CLOCK_GETTIME([ACTION-SUCCESS], [ACTION-FAILURE]) + +AC_DEFUN([CHECK_CLOCK_GETTIME], +[ + AC_MSG_CHECKING([for clock_gettime]) + AC_LINK_IFELSE([ + AC_LANG_PROGRAM([[ + #include <time.h> + ]], [[ + (void)clock_gettime; + return 0; + ]]) + ], [ + AC_MSG_RESULT([yes]) + AC_DEFINE([HAVE_CLOCK_GETTIME], [1], [clock_gettime can be used]) + m4_default([$1], :) + ], [ + AC_MSG_RESULT([no]) + m4_default([$2], :) + ]) + ]) +]) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libfilezilla-0.7.0/tests/Makefile.in new/libfilezilla-0.8.0/tests/Makefile.in --- old/libfilezilla-0.7.0/tests/Makefile.in 2016-09-24 15:18:35.000000000 +0200 +++ new/libfilezilla-0.8.0/tests/Makefile.in 2016-10-25 15:06:53.000000000 +0200 @@ -87,8 +87,11 @@ $(top_srcdir)/config/depcomp $(noinst_HEADERS) \ $(top_srcdir)/config/test-driver ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/ax_check_link_flag.m4 \ +am__aclocal_m4_deps = $(top_srcdir)/m4/ax_append_flag.m4 \ + $(top_srcdir)/m4/ax_check_compile_flag.m4 \ + $(top_srcdir)/m4/ax_check_link_flag.m4 \ $(top_srcdir)/m4/ax_prog_doxygen.m4 \ + $(top_srcdir)/m4/check_clock_gettime.m4 \ $(top_srcdir)/m4/check_iconv.m4 \ $(top_srcdir)/m4/check_libc++.m4 \ $(top_srcdir)/m4/check_steady_clock.m4 \ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libfilezilla-0.7.0/tests/format.cpp new/libfilezilla-0.8.0/tests/format.cpp --- old/libfilezilla-0.7.0/tests/format.cpp 2016-09-24 15:14:12.000000000 +0200 +++ new/libfilezilla-0.8.0/tests/format.cpp 2016-10-25 15:03:50.000000000 +0200 @@ -92,6 +92,7 @@ CPPUNIT_ASSERT_EQUAL(std::string("23bf0a"), fz::sprintf("%0x", 2342666)); CPPUNIT_ASSERT_EQUAL(std::string("23bf0a"), fz::sprintf("% x", 2342666)); CPPUNIT_ASSERT_EQUAL(std::string("23bf0a"), fz::sprintf("% 0x", 2342666)); + CPPUNIT_ASSERT_EQUAL(std::string("0a"), fz::sprintf("%02x", 10)); CPPUNIT_ASSERT_EQUAL(std::string(" 0"), fz::sprintf("%4x", 0)); CPPUNIT_ASSERT_EQUAL(std::string("23bf0a"), fz::sprintf("%4x", 2342666));
