Hello community, here is the log from the commit of package libfilezilla for openSUSE:Factory checked in at 2017-10-03 23:17:48 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/libfilezilla (Old) and /work/SRC/openSUSE:Factory/.libfilezilla.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libfilezilla" Tue Oct 3 23:17:48 2017 rev:13 rq:530428 version:0.11.0 Changes: -------- --- /work/SRC/openSUSE:Factory/libfilezilla/libfilezilla.changes 2017-08-28 15:18:29.133594146 +0200 +++ /work/SRC/openSUSE:Factory/.libfilezilla.new/libfilezilla.changes 2017-10-03 23:17:49.665835653 +0200 @@ -1,0 +2,10 @@ +Mon Oct 2 11:08:20 UTC 2017 - ec...@opensuse.org + +- update to 0.11.0 + * New features: + - Add fz::buffer class + * Bugfixes and minor changes: + - *nix: fz::process::spawn no longer calls async-signal-unsafe + functions between forking and calling execv in the child. + +------------------------------------------------------------------- Old: ---- libfilezilla-0.10.1.tar.bz2 New: ---- libfilezilla-0.11.0.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ libfilezilla.spec ++++++ --- /var/tmp/diff_new_pack.skDM8E/_old 2017-10-03 23:17:50.341740530 +0200 +++ /var/tmp/diff_new_pack.skDM8E/_new 2017-10-03 23:17:50.349739405 +0200 @@ -20,7 +20,7 @@ %define libname %{name}%{major} %define develname %{name}-devel Name: libfilezilla -Version: 0.10.1 +Version: 0.11.0 Release: 0 Summary: C++ library for filezilla License: GPL-2.0+ ++++++ libfilezilla-0.10.1.tar.bz2 -> libfilezilla-0.11.0.tar.bz2 ++++++ ++++ 1663 lines of diff (skipped) ++++ retrying with extended exclude list diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libfilezilla-0.10.1/NEWS new/libfilezilla-0.11.0/NEWS --- old/libfilezilla-0.10.1/NEWS 2017-08-14 12:33:11.000000000 +0200 +++ new/libfilezilla-0.11.0/NEWS 2017-09-29 10:53:09.000000000 +0200 @@ -1,3 +1,8 @@ +0.11.0 (2017-09-29) + ++ Add fz::buffer class +- *nix: fz::process::spawn no longer calls async-signal-unsafe functions between forking and calling execv in the child. + 0.10.1 (2017-08-14) - MSW: Improve handling of reparse points in fz::local_filesys diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libfilezilla-0.10.1/configure.ac new/libfilezilla-0.11.0/configure.ac --- old/libfilezilla-0.10.1/configure.ac 2017-08-14 12:33:11.000000000 +0200 +++ new/libfilezilla-0.11.0/configure.ac 2017-09-29 10:53:52.000000000 +0200 @@ -1,4 +1,4 @@ -AC_INIT([libfilezilla],[0.10.1],[tim.ko...@filezilla-project.org],[],[https://lib.filezilla-project.org/]) +AC_INIT([libfilezilla],[0.11.0],[tim.ko...@filezilla-project.org],[],[https://lib.filezilla-project.org/]) AC_CONFIG_HEADERS([lib/libfilezilla/private/config.hpp]) AC_CONFIG_MACRO_DIR([m4]) AC_CONFIG_AUX_DIR(config) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libfilezilla-0.10.1/demos/demo_events.vcxproj new/libfilezilla-0.11.0/demos/demo_events.vcxproj --- old/libfilezilla-0.10.1/demos/demo_events.vcxproj 2016-07-20 10:41:55.000000000 +0200 +++ new/libfilezilla-0.11.0/demos/demo_events.vcxproj 2017-09-29 10:41:58.000000000 +0200 @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> +<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <ItemGroup Label="ProjectConfigurations"> <ProjectConfiguration Include="dll_debug|Win32"> <Configuration>dll_debug</Configuration> @@ -38,58 +38,58 @@ <ProjectGuid>{59E51CBA-EA1F-448F-9DF5-955EECAB8ACD}</ProjectGuid> <Keyword>Win32Proj</Keyword> <RootNamespace>demo_events</RootNamespace> - <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion> + <WindowsTargetPlatformVersion>10.0.15063.0</WindowsTargetPlatformVersion> </PropertyGroup> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='dll_debug|Win32'" Label="Configuration"> <ConfigurationType>Application</ConfigurationType> <UseDebugLibraries>true</UseDebugLibraries> - <PlatformToolset>v140</PlatformToolset> + <PlatformToolset>v141</PlatformToolset> <CharacterSet>Unicode</CharacterSet> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='static_debug|Win32'" Label="Configuration"> <ConfigurationType>Application</ConfigurationType> <UseDebugLibraries>true</UseDebugLibraries> - <PlatformToolset>v140</PlatformToolset> + <PlatformToolset>v141</PlatformToolset> <CharacterSet>Unicode</CharacterSet> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='dll_release|Win32'" Label="Configuration"> <ConfigurationType>Application</ConfigurationType> <UseDebugLibraries>false</UseDebugLibraries> - <PlatformToolset>v140</PlatformToolset> + <PlatformToolset>v141</PlatformToolset> <WholeProgramOptimization>true</WholeProgramOptimization> <CharacterSet>Unicode</CharacterSet> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='static_release|Win32'" Label="Configuration"> <ConfigurationType>Application</ConfigurationType> <UseDebugLibraries>false</UseDebugLibraries> - <PlatformToolset>v140</PlatformToolset> + <PlatformToolset>v141</PlatformToolset> <WholeProgramOptimization>true</WholeProgramOptimization> <CharacterSet>Unicode</CharacterSet> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='dll_debug|x64'" Label="Configuration"> <ConfigurationType>Application</ConfigurationType> <UseDebugLibraries>true</UseDebugLibraries> - <PlatformToolset>v140</PlatformToolset> + <PlatformToolset>v141</PlatformToolset> <CharacterSet>Unicode</CharacterSet> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='static_debug|x64'" Label="Configuration"> <ConfigurationType>Application</ConfigurationType> <UseDebugLibraries>true</UseDebugLibraries> - <PlatformToolset>v140</PlatformToolset> + <PlatformToolset>v141</PlatformToolset> <CharacterSet>Unicode</CharacterSet> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='dll_release|x64'" Label="Configuration"> <ConfigurationType>Application</ConfigurationType> <UseDebugLibraries>false</UseDebugLibraries> - <PlatformToolset>v140</PlatformToolset> + <PlatformToolset>v141</PlatformToolset> <WholeProgramOptimization>true</WholeProgramOptimization> <CharacterSet>Unicode</CharacterSet> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='static_release|x64'" Label="Configuration"> <ConfigurationType>Application</ConfigurationType> <UseDebugLibraries>false</UseDebugLibraries> - <PlatformToolset>v140</PlatformToolset> + <PlatformToolset>v141</PlatformToolset> <WholeProgramOptimization>true</WholeProgramOptimization> <CharacterSet>Unicode</CharacterSet> </PropertyGroup> @@ -270,6 +270,7 @@ <IntrinsicFunctions>true</IntrinsicFunctions> <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> <MultiProcessorCompilation>true</MultiProcessorCompilation> + <BufferSecurityCheck>false</BufferSecurityCheck> </ClCompile> <Link> <SubSystem>Console</SubSystem> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libfilezilla-0.10.1/demos/demo_list.vcxproj new/libfilezilla-0.11.0/demos/demo_list.vcxproj --- old/libfilezilla-0.10.1/demos/demo_list.vcxproj 2016-07-20 10:41:55.000000000 +0200 +++ new/libfilezilla-0.11.0/demos/demo_list.vcxproj 2017-09-29 10:41:58.000000000 +0200 @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> +<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <ItemGroup Label="ProjectConfigurations"> <ProjectConfiguration Include="dll_debug|Win32"> <Configuration>dll_debug</Configuration> @@ -38,58 +38,58 @@ <ProjectGuid>{C9F9E856-FC6B-4D16-8236-AB1016620345}</ProjectGuid> <Keyword>Win32Proj</Keyword> <RootNamespace>demo_list</RootNamespace> - <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion> + <WindowsTargetPlatformVersion>10.0.15063.0</WindowsTargetPlatformVersion> </PropertyGroup> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='dll_debug|Win32'" Label="Configuration"> <ConfigurationType>Application</ConfigurationType> <UseDebugLibraries>true</UseDebugLibraries> - <PlatformToolset>v140</PlatformToolset> + <PlatformToolset>v141</PlatformToolset> <CharacterSet>Unicode</CharacterSet> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='static_debug|Win32'" Label="Configuration"> <ConfigurationType>Application</ConfigurationType> <UseDebugLibraries>true</UseDebugLibraries> - <PlatformToolset>v140</PlatformToolset> + <PlatformToolset>v141</PlatformToolset> <CharacterSet>Unicode</CharacterSet> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='dll_release|Win32'" Label="Configuration"> <ConfigurationType>Application</ConfigurationType> <UseDebugLibraries>false</UseDebugLibraries> - <PlatformToolset>v140</PlatformToolset> + <PlatformToolset>v141</PlatformToolset> <WholeProgramOptimization>true</WholeProgramOptimization> <CharacterSet>Unicode</CharacterSet> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='static_release|Win32'" Label="Configuration"> <ConfigurationType>Application</ConfigurationType> <UseDebugLibraries>false</UseDebugLibraries> - <PlatformToolset>v140</PlatformToolset> + <PlatformToolset>v141</PlatformToolset> <WholeProgramOptimization>true</WholeProgramOptimization> <CharacterSet>Unicode</CharacterSet> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='dll_debug|x64'" Label="Configuration"> <ConfigurationType>Application</ConfigurationType> <UseDebugLibraries>true</UseDebugLibraries> - <PlatformToolset>v140</PlatformToolset> + <PlatformToolset>v141</PlatformToolset> <CharacterSet>Unicode</CharacterSet> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='static_debug|x64'" Label="Configuration"> <ConfigurationType>Application</ConfigurationType> <UseDebugLibraries>true</UseDebugLibraries> - <PlatformToolset>v140</PlatformToolset> + <PlatformToolset>v141</PlatformToolset> <CharacterSet>Unicode</CharacterSet> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='dll_release|x64'" Label="Configuration"> <ConfigurationType>Application</ConfigurationType> <UseDebugLibraries>false</UseDebugLibraries> - <PlatformToolset>v140</PlatformToolset> + <PlatformToolset>v141</PlatformToolset> <WholeProgramOptimization>true</WholeProgramOptimization> <CharacterSet>Unicode</CharacterSet> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='static_release|x64'" Label="Configuration"> <ConfigurationType>Application</ConfigurationType> <UseDebugLibraries>false</UseDebugLibraries> - <PlatformToolset>v140</PlatformToolset> + <PlatformToolset>v141</PlatformToolset> <WholeProgramOptimization>true</WholeProgramOptimization> <CharacterSet>Unicode</CharacterSet> </PropertyGroup> @@ -323,4 +323,4 @@ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> <ImportGroup Label="ExtensionTargets"> </ImportGroup> -</Project> +</Project> \ No newline at end of file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libfilezilla-0.10.1/demos/demo_process.vcxproj new/libfilezilla-0.11.0/demos/demo_process.vcxproj --- old/libfilezilla-0.10.1/demos/demo_process.vcxproj 2016-07-20 10:41:55.000000000 +0200 +++ new/libfilezilla-0.11.0/demos/demo_process.vcxproj 2017-09-29 10:41:58.000000000 +0200 @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> +<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <ItemGroup Label="ProjectConfigurations"> <ProjectConfiguration Include="dll_debug|Win32"> <Configuration>dll_debug</Configuration> @@ -38,58 +38,58 @@ <ProjectGuid>{3ea8235d-c77a-4a9c-9435-00cceda69aa5}</ProjectGuid> <Keyword>Win32Proj</Keyword> <RootNamespace>demo_process</RootNamespace> - <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion> + <WindowsTargetPlatformVersion>10.0.15063.0</WindowsTargetPlatformVersion> </PropertyGroup> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='dll_debug|Win32'" Label="Configuration"> <ConfigurationType>Application</ConfigurationType> <UseDebugLibraries>true</UseDebugLibraries> - <PlatformToolset>v140</PlatformToolset> + <PlatformToolset>v141</PlatformToolset> <CharacterSet>Unicode</CharacterSet> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='static_debug|Win32'" Label="Configuration"> <ConfigurationType>Application</ConfigurationType> <UseDebugLibraries>true</UseDebugLibraries> - <PlatformToolset>v140</PlatformToolset> + <PlatformToolset>v141</PlatformToolset> <CharacterSet>Unicode</CharacterSet> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='dll_release|Win32'" Label="Configuration"> <ConfigurationType>Application</ConfigurationType> <UseDebugLibraries>false</UseDebugLibraries> - <PlatformToolset>v140</PlatformToolset> + <PlatformToolset>v141</PlatformToolset> <WholeProgramOptimization>true</WholeProgramOptimization> <CharacterSet>Unicode</CharacterSet> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='static_release|Win32'" Label="Configuration"> <ConfigurationType>Application</ConfigurationType> <UseDebugLibraries>false</UseDebugLibraries> - <PlatformToolset>v140</PlatformToolset> + <PlatformToolset>v141</PlatformToolset> <WholeProgramOptimization>true</WholeProgramOptimization> <CharacterSet>Unicode</CharacterSet> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='dll_debug|x64'" Label="Configuration"> <ConfigurationType>Application</ConfigurationType> <UseDebugLibraries>true</UseDebugLibraries> - <PlatformToolset>v140</PlatformToolset> + <PlatformToolset>v141</PlatformToolset> <CharacterSet>Unicode</CharacterSet> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='static_debug|x64'" Label="Configuration"> <ConfigurationType>Application</ConfigurationType> <UseDebugLibraries>true</UseDebugLibraries> - <PlatformToolset>v140</PlatformToolset> + <PlatformToolset>v141</PlatformToolset> <CharacterSet>Unicode</CharacterSet> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='dll_release|x64'" Label="Configuration"> <ConfigurationType>Application</ConfigurationType> <UseDebugLibraries>false</UseDebugLibraries> - <PlatformToolset>v140</PlatformToolset> + <PlatformToolset>v141</PlatformToolset> <WholeProgramOptimization>true</WholeProgramOptimization> <CharacterSet>Unicode</CharacterSet> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='static_release|x64'" Label="Configuration"> <ConfigurationType>Application</ConfigurationType> <UseDebugLibraries>false</UseDebugLibraries> - <PlatformToolset>v140</PlatformToolset> + <PlatformToolset>v141</PlatformToolset> <WholeProgramOptimization>true</WholeProgramOptimization> <CharacterSet>Unicode</CharacterSet> </PropertyGroup> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libfilezilla-0.10.1/demos/demo_timer_fizzbuzz.vcxproj new/libfilezilla-0.11.0/demos/demo_timer_fizzbuzz.vcxproj --- old/libfilezilla-0.10.1/demos/demo_timer_fizzbuzz.vcxproj 2016-07-20 10:41:55.000000000 +0200 +++ new/libfilezilla-0.11.0/demos/demo_timer_fizzbuzz.vcxproj 2017-09-29 10:41:58.000000000 +0200 @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> +<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <ItemGroup Label="ProjectConfigurations"> <ProjectConfiguration Include="dll_debug|Win32"> <Configuration>dll_debug</Configuration> @@ -38,58 +38,58 @@ <ProjectGuid>{306B18D9-E2FB-4674-80D0-C3D33530F21E}</ProjectGuid> <Keyword>Win32Proj</Keyword> <RootNamespace>demo_timer_fizzbuzz</RootNamespace> - <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion> + <WindowsTargetPlatformVersion>10.0.15063.0</WindowsTargetPlatformVersion> </PropertyGroup> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='dll_debug|Win32'" Label="Configuration"> <ConfigurationType>Application</ConfigurationType> <UseDebugLibraries>true</UseDebugLibraries> - <PlatformToolset>v140</PlatformToolset> + <PlatformToolset>v141</PlatformToolset> <CharacterSet>Unicode</CharacterSet> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='static_debug|Win32'" Label="Configuration"> <ConfigurationType>Application</ConfigurationType> <UseDebugLibraries>true</UseDebugLibraries> - <PlatformToolset>v140</PlatformToolset> + <PlatformToolset>v141</PlatformToolset> <CharacterSet>Unicode</CharacterSet> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='dll_release|Win32'" Label="Configuration"> <ConfigurationType>Application</ConfigurationType> <UseDebugLibraries>false</UseDebugLibraries> - <PlatformToolset>v140</PlatformToolset> + <PlatformToolset>v141</PlatformToolset> <WholeProgramOptimization>true</WholeProgramOptimization> <CharacterSet>Unicode</CharacterSet> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='static_release|Win32'" Label="Configuration"> <ConfigurationType>Application</ConfigurationType> <UseDebugLibraries>false</UseDebugLibraries> - <PlatformToolset>v140</PlatformToolset> + <PlatformToolset>v141</PlatformToolset> <WholeProgramOptimization>true</WholeProgramOptimization> <CharacterSet>Unicode</CharacterSet> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='dll_debug|x64'" Label="Configuration"> <ConfigurationType>Application</ConfigurationType> <UseDebugLibraries>true</UseDebugLibraries> - <PlatformToolset>v140</PlatformToolset> + <PlatformToolset>v141</PlatformToolset> <CharacterSet>Unicode</CharacterSet> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='static_debug|x64'" Label="Configuration"> <ConfigurationType>Application</ConfigurationType> <UseDebugLibraries>true</UseDebugLibraries> - <PlatformToolset>v140</PlatformToolset> + <PlatformToolset>v141</PlatformToolset> <CharacterSet>Unicode</CharacterSet> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='dll_release|x64'" Label="Configuration"> <ConfigurationType>Application</ConfigurationType> <UseDebugLibraries>false</UseDebugLibraries> - <PlatformToolset>v140</PlatformToolset> + <PlatformToolset>v141</PlatformToolset> <WholeProgramOptimization>true</WholeProgramOptimization> <CharacterSet>Unicode</CharacterSet> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='static_release|x64'" Label="Configuration"> <ConfigurationType>Application</ConfigurationType> <UseDebugLibraries>false</UseDebugLibraries> - <PlatformToolset>v140</PlatformToolset> + <PlatformToolset>v141</PlatformToolset> <WholeProgramOptimization>true</WholeProgramOptimization> <CharacterSet>Unicode</CharacterSet> </PropertyGroup> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libfilezilla-0.10.1/lib/Makefile.am new/libfilezilla-0.11.0/lib/Makefile.am --- old/libfilezilla-0.10.1/lib/Makefile.am 2017-07-10 19:43:37.000000000 +0200 +++ new/libfilezilla-0.11.0/lib/Makefile.am 2017-09-29 10:41:58.000000000 +0200 @@ -1,6 +1,7 @@ lib_LTLIBRARIES = libfilezilla.la libfilezilla_la_SOURCES = \ + buffer.cpp \ encode.cpp \ event.cpp \ event_handler.cpp \ @@ -21,6 +22,7 @@ nobase_include_HEADERS = \ libfilezilla/apply.hpp \ + libfilezilla/buffer.hpp \ libfilezilla/encode.hpp \ libfilezilla/event.hpp \ libfilezilla/event_handler.hpp \ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libfilezilla-0.10.1/lib/buffer.cpp new/libfilezilla-0.11.0/lib/buffer.cpp --- old/libfilezilla-0.10.1/lib/buffer.cpp 1970-01-01 01:00:00.000000000 +0100 +++ new/libfilezilla-0.11.0/lib/buffer.cpp 2017-09-29 10:41:58.000000000 +0200 @@ -0,0 +1,147 @@ +#include "libfilezilla/buffer.hpp" + +#include <algorithm> + +#include <string.h> + +namespace fz { + +buffer::buffer(size_t capacity) +{ + reserve(capacity); +} + +buffer::buffer(buffer const& buf) +{ + if (buf.size_) { + data_ = new unsigned char[buf.capacity_]; + memcpy(data_, buf.pos_, buf.size_); +size_ = buf.size_; +capacity_ = buf.capacity_; +pos_ = data_; + } +} + +buffer::buffer(buffer && buf) +{ + data_ = buf.data_; + buf.data_ = nullptr; + pos_ = buf.pos_; + buf.pos_ = nullptr; + size_ = buf.size_; + capacity_ = buf.capacity_; +} + +unsigned char* buffer::get(size_t write_size) +{ + if (capacity_ - (pos_ - data_) - size_ < write_size) { + if (capacity_ - size_ > write_size) { + memmove(data_, pos_, size_); + pos_ = data_; + } + else { + capacity_ = std::max({ size_t(1024), capacity_ * 2, capacity_ + write_size }); + unsigned char* data = new unsigned char[capacity_]; + if (size_) { + memcpy(data, pos_, size_); + } + else { + delete[] data_; + } + data_ = data; + pos_ = data; + } + } + return data_; +} + +buffer& buffer::operator=(buffer const& buf) +{ + delete[] data_; + if (buf.size_) { + data_ = new unsigned char[buf.capacity_]; + memcpy(data_, buf.pos_, buf.size_); + } + else { + data_ = nullptr; + } + size_ = buf.size_; + capacity_ = buf.capacity_; + pos_ = data_; + + return *this; +} + +buffer& buffer::operator=(buffer && buf) +{ + delete[] data_; + data_ = buf.data_; + buf.data_ = nullptr; + pos_ = buf.pos_; + buf.pos_ = nullptr; + size_ = buf.size_; + capacity_ = buf.capacity_; + return *this; +} + + +void buffer::add(size_t added) +{ + if (capacity_ - (pos_ - data_) - size_ < added) { + // Hang, draw and quarter the caller. + abort(); + } + size_ += added; +} + +void buffer::consume(size_t consumed) +{ + if (consumed > size_) { + abort(); + } + if (consumed == size_) { + pos_ = data_; + size_ = 0; + } + else { + size_ -= consumed; + pos_ += consumed; + } +} + +void buffer::clear() +{ + size_ = 0; + pos_ = data_; +} + +void buffer::append(unsigned char const* data, size_t len) +{ + memcpy(get(len), data, len); + size_ += len; +} + +void buffer::append(std::string const& str) +{ + append(reinterpret_cast<unsigned char const*>(str.c_str()), str.size()); +} + +void buffer::reserve(size_t capacity) +{ + if (capacity_ > capacity) { + return; + } + + capacity_ = std::max(size_t(1024), capacity); + unsigned char* data = new unsigned char[capacity_]; + if (size_) { + memcpy(data, pos_, size_); + } + else { + delete[] data_; + } + data_ = data; + pos_ = data_; +} + +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libfilezilla-0.10.1/lib/event_loop.cpp new/libfilezilla-0.11.0/lib/event_loop.cpp --- old/libfilezilla-0.10.1/lib/event_loop.cpp 2016-04-15 09:52:15.000000000 +0200 +++ new/libfilezilla-0.11.0/lib/event_loop.cpp 2017-09-29 10:41:58.000000000 +0200 @@ -157,7 +157,7 @@ delete ev.second; l.lock(); - active_handler_ = 0; + active_handler_ = nullptr; return true; } @@ -243,7 +243,7 @@ (*handler)(timer_event(id)); l.lock(); - active_handler_ = 0; + active_handler_ = nullptr; return true; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libfilezilla-0.10.1/lib/file.cpp new/libfilezilla-0.11.0/lib/file.cpp --- old/libfilezilla-0.10.1/lib/file.cpp 2016-11-28 17:32:55.000000000 +0100 +++ new/libfilezilla-0.11.0/lib/file.cpp 2017-09-29 10:41:58.000000000 +0200 @@ -48,7 +48,7 @@ shareMode |= FILE_SHARE_WRITE; } - hFile_ = CreateFile(f.c_str(), (m == reading) ? GENERIC_READ : GENERIC_WRITE, shareMode, 0, dispositionFlags, FILE_FLAG_SEQUENTIAL_SCAN, 0); + hFile_ = CreateFile(f.c_str(), (m == reading) ? GENERIC_READ : GENERIC_WRITE, shareMode, nullptr, dispositionFlags, FILE_FLAG_SEQUENTIAL_SCAN, nullptr); return hFile_ != INVALID_HANDLE_VALUE; } @@ -104,7 +104,7 @@ int64_t ret = -1; DWORD read = 0; - if (ReadFile(hFile_, buf, static_cast<DWORD>(count), &read, 0)) { + if (ReadFile(hFile_, buf, static_cast<DWORD>(count), &read, nullptr)) { ret = static_cast<int64_t>(read); } @@ -116,7 +116,7 @@ int64_t ret = -1; DWORD written = 0; - if (WriteFile(hFile_, buf, static_cast<DWORD>(count), &written, 0)) { + if (WriteFile(hFile_, buf, static_cast<DWORD>(count), &written, nullptr)) { ret = static_cast<int64_t>(written); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libfilezilla-0.10.1/lib/iputils.cpp new/libfilezilla-0.11.0/lib/iputils.cpp --- old/libfilezilla-0.10.1/lib/iputils.cpp 2017-07-10 19:43:37.000000000 +0200 +++ new/libfilezilla-0.11.0/lib/iputils.cpp 2017-09-29 10:41:58.000000000 +0200 @@ -15,7 +15,7 @@ } short_address = str_tolower_ascii(short_address); - Char buffer[40] = { '0', '0', '0', '0', ':', + Char buf[40] = { '0', '0', '0', '0', ':', '0', '0', '0', '0', ':', '0', '0', '0', '0', ':', '0', '0', '0', '0', ':', @@ -25,11 +25,12 @@ '0', '0', '0', '0', 0 }; - Char* out = buffer; + Char* out = buf; const size_t len = short_address.size(); - if (len > 39) + if (len > 39) { return String(); + } // First part, before possible :: size_t i = 0; @@ -56,7 +57,7 @@ if (!c) { if (!*out) { // ...on time - return buffer; + return buf; } else { // ...premature @@ -91,7 +92,7 @@ // Second half after :: Char* end_first = out; - out = &buffer[38]; + out = &buf[38]; size_t stop = i; for (i = len - 1; i > stop; --i) { if (out < end_first) { @@ -135,7 +136,7 @@ return String(); } - return buffer; + return buf; } std::string get_ipv6_long_form(std::string const& short_address) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libfilezilla-0.10.1/lib/libfilezilla/buffer.hpp new/libfilezilla-0.11.0/lib/libfilezilla/buffer.hpp --- old/libfilezilla-0.10.1/lib/libfilezilla/buffer.hpp 1970-01-01 01:00:00.000000000 +0100 +++ new/libfilezilla-0.11.0/lib/libfilezilla/buffer.hpp 2017-09-29 10:41:58.000000000 +0200 @@ -0,0 +1,89 @@ +#ifndef LIBFILEZILLA_BUFFER_HEADER +#define LIBFILEZILLA_BUFFER_HEADER + +#include "libfilezilla.hpp" + +/** \file +* \brief Declares fz::buffer +*/ + +namespace fz { + +/** + * \brief The buffer class is a simple buffer where data can be appended at the end and consumed at the front. + * Think of it as a deque with contiguous storage. + * + * This class is useful when buffering data for sending over the network, or for buffering data for further + * piecemeal processing after having received it. + */ +class FZ_PUBLIC_SYMBOL buffer final +{ +public: + buffer() = default; + + /// Initially reserves the passed capacity + explicit buffer(size_t capacity); + + buffer(buffer const& buf); + buffer(buffer && buf); + + ~buffer() { delete data_; } + + buffer& operator=(buffer const& buf); + buffer& operator=(buffer && buf); + + // Undefined if buffer is empty + unsigned char* get() { return pos_; } + + /** \brief Returns a writable buffer guaranteed to be large enough for write_size bytes, call add when done. + * + * \sa append + */ + unsigned char* get(size_t write_size); + + // Increase size by the passed amount. Call this after having obtained a writable buffer with get(size_t write_size) + void add(size_t added); + + /** \brief Removes consumed bytes from the beginning of the buffer. + * + * Undefined if consumed > size + */ + void consume(size_t consumed); + + size_t size() const { return size_; } + + void clear(); + + /** \brief Appends the passed data to the buffer. + * + * The number of reallocations as result to repeated append are armortized O(1) + */ + void append(unsigned char const* data, size_t len); + void append(std::string const& str); + + bool empty() const { return size_ == 0; } + explicit operator bool() const { + return size_ != 0; + } + + void reserve(size_t capacity); + + /// Gets element at offset i. Does not do bounds checking + unsigned char operator[](size_t i) const { return pos_[i]; } + unsigned char & operator[](size_t i) { return pos_[i]; } +private: + + // Invariants: + // size_ <= capacity_ + // data_ <= pos_ + // pos_ <= data_ + capacity_ + // pos_ + size_ <= data_ + capacity_ + unsigned char* data_{}; + unsigned char* pos_{}; + size_t size_{}; + size_t capacity_{}; +}; + +} + +#endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libfilezilla-0.10.1/lib/libfilezilla/encode.hpp new/libfilezilla-0.11.0/lib/libfilezilla/encode.hpp --- old/libfilezilla-0.10.1/lib/libfilezilla/encode.hpp 2017-07-10 19:43:37.000000000 +0200 +++ new/libfilezilla-0.11.0/lib/libfilezilla/encode.hpp 2017-09-29 10:41:58.000000000 +0200 @@ -64,10 +64,10 @@ Char int_to_hex_char(int d) { if (d > 9) { - return (Lowercase ? 'a' : 'A') + d - 10; + return static_cast<Char>((Lowercase ? 'a' : 'A') + d - 10); } else { - return '0' + d; + return static_cast<Char>('0' + d); } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libfilezilla-0.10.1/lib/libfilezilla/event.hpp new/libfilezilla-0.11.0/lib/libfilezilla/event.hpp --- old/libfilezilla-0.10.1/lib/libfilezilla/event.hpp 2016-01-31 11:35:01.000000000 +0100 +++ new/libfilezilla-0.11.0/lib/libfilezilla/event.hpp 2017-09-29 10:41:58.000000000 +0200 @@ -74,7 +74,7 @@ /// \brief Returns a unique pointer for the type such that can be used directly in derived_type. static void const* type() { - static const char* f = 0; + static const char* f = nullptr; return &f; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libfilezilla-0.10.1/lib/libfilezilla/local_filesys.hpp new/libfilezilla-0.11.0/lib/libfilezilla/local_filesys.hpp --- old/libfilezilla-0.10.1/lib/libfilezilla/local_filesys.hpp 2017-02-20 22:19:51.000000000 +0100 +++ new/libfilezilla-0.11.0/lib/libfilezilla/local_filesys.hpp 2017-09-29 10:41:58.000000000 +0200 @@ -62,7 +62,7 @@ static type get_file_info(native_string const& path, bool &is_link, int64_t* size, datetime* modification_time, int* mode); /// Gets size of file, returns -1 on error. - static int64_t get_size(native_string const& path, bool *is_link = 0); + static int64_t get_size(native_string const& path, bool *is_link = nullptr); /// \brief Begins enumerating a directory. /// @@ -92,18 +92,18 @@ #endif // State for directory enumeration - bool m_dirs_only{}; + bool dirs_only_{}; #ifdef FZ_WINDOWS WIN32_FIND_DATA m_find_data{}; HANDLE m_hFind{INVALID_HANDLE_VALUE}; - bool m_found{}; + bool has_next_{}; native_string m_find_path; #else char* m_raw_path{}; char* m_file_part{}; // Points into m_raw_path past the trailing slash of the path part int m_buffer_length{}; - DIR* m_dir{}; + DIR* dir_{}; #endif }; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libfilezilla-0.10.1/lib/libfilezilla/optional.hpp new/libfilezilla-0.11.0/lib/libfilezilla/optional.hpp --- old/libfilezilla-0.10.1/lib/libfilezilla/optional.hpp 2016-05-09 17:28:54.000000000 +0200 +++ new/libfilezilla-0.11.0/lib/libfilezilla/optional.hpp 2017-09-29 10:41:58.000000000 +0200 @@ -31,7 +31,7 @@ void clear(); - explicit operator bool() const { return v_ != 0; }; + explicit operator bool() const { return v_ != nullptr; }; T& operator*() { return *v_; } T const& operator*() const { return *v_; } @@ -75,7 +75,7 @@ v_ = new T(*v); } else { - v_ = 0; + v_ = nullptr; } } @@ -83,7 +83,7 @@ sparse_optional<T>::sparse_optional(sparse_optional<T> && v) noexcept { v_ = v.v_; - v.v_ = 0; + v.v_ = nullptr; } template<typename T> @@ -96,7 +96,7 @@ void sparse_optional<T>::clear() { delete v_; - v_ = 0; + v_ = nullptr; } template<typename T> @@ -108,7 +108,7 @@ v_ = new T(*v.v_); } else { - v_ = 0; + v_ = nullptr; } } @@ -121,7 +121,7 @@ if (this != &v) { delete v_; v_ = v.v_; - v.v_ = 0; + v.v_ = nullptr; } return *this; @@ -145,7 +145,7 @@ bool sparse_optional<T>::operator<(sparse_optional<T> const& cmp) const { if (!v_ || !cmp.v_) { - return cmp.v_ != 0; + return cmp.v_ != nullptr; } return *v_ < *cmp.v_; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libfilezilla-0.10.1/lib/libfilezilla/shared.hpp new/libfilezilla-0.11.0/lib/libfilezilla/shared.hpp --- old/libfilezilla-0.10.1/lib/libfilezilla/shared.hpp 2017-05-25 20:35:14.000000000 +0200 +++ new/libfilezilla-0.11.0/lib/libfilezilla/shared.hpp 2017-09-29 10:41:58.000000000 +0200 @@ -84,7 +84,7 @@ template<typename T, bool Init> shared_optional<T, Init>::shared_optional() - : data_(Init ? std::make_shared<T>() : 0) + : data_(Init ? std::make_shared<T>() : nullptr) { } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libfilezilla-0.10.1/lib/libfilezilla/thread_pool.hpp new/libfilezilla-0.11.0/lib/libfilezilla/thread_pool.hpp --- old/libfilezilla-0.10.1/lib/libfilezilla/thread_pool.hpp 2017-05-25 20:35:14.000000000 +0200 +++ new/libfilezilla-0.11.0/lib/libfilezilla/thread_pool.hpp 2017-09-29 10:41:58.000000000 +0200 @@ -36,7 +36,7 @@ void join(); /// Check whether it's a spawned, unjoined task. - explicit operator bool() const { return impl_ != 0; } + explicit operator bool() const { return impl_ != nullptr; } /// Detach the running thread from the task. Once done, the thread adds itself back into the pool void detach(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libfilezilla-0.10.1/lib/libfilezilla/version.hpp new/libfilezilla-0.11.0/lib/libfilezilla/version.hpp --- old/libfilezilla-0.10.1/lib/libfilezilla/version.hpp 2017-08-14 12:33:23.000000000 +0200 +++ new/libfilezilla-0.11.0/lib/libfilezilla/version.hpp 2017-09-29 10:54:34.000000000 +0200 @@ -9,15 +9,15 @@ #include <tuple> /// \brief Version string of the libfilezilla headers -#define LIBFILEZILLA_VERSION "0.10.1" +#define LIBFILEZILLA_VERSION "0.11.0" #define LIBFILEZILLA_VERSION_MAJOR 0 -#define LIBFILEZILLA_VERSION_MINOR 10 -#define LIBFILEZILLA_VERSION_MICRO 1 +#define LIBFILEZILLA_VERSION_MINOR 11 +#define LIBFILEZILLA_VERSION_MICRO 0 #define LIBFILEZILLA_VERSION_NANO 0 /// \brief Suffix string, e.g. "rc1" -#define LIBFILEZILLA_VERSION_SUFFIX "0.10.1" +#define LIBFILEZILLA_VERSION_SUFFIX "0.11.0" namespace fz { /// \brief Get version string of libfilezilla diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libfilezilla-0.10.1/lib/libfilezilla.vcxproj new/libfilezilla-0.11.0/lib/libfilezilla.vcxproj --- old/libfilezilla-0.10.1/lib/libfilezilla.vcxproj 2017-08-14 12:33:11.000000000 +0200 +++ new/libfilezilla-0.11.0/lib/libfilezilla.vcxproj 2017-09-29 10:41:58.000000000 +0200 @@ -38,7 +38,7 @@ <ProjectGuid>{E1BC2AC0-F3DD-4892-8CF2-1041A63F7C9C}</ProjectGuid> <RootNamespace>libfilezilla</RootNamespace> <Keyword>Win32Proj</Keyword> - <WindowsTargetPlatformVersion>10.0.14393.0</WindowsTargetPlatformVersion> + <WindowsTargetPlatformVersion>10.0.15063.0</WindowsTargetPlatformVersion> </PropertyGroup> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> <PropertyGroup Label="Configuration" Condition="'$(Configuration)'=='static_release'"> @@ -186,7 +186,9 @@ </ClCompile> </ItemDefinitionGroup> <ItemGroup> + <ClCompile Include="buffer.cpp" /> <ClCompile Include="encode.cpp" /> + <ClCompile Include="event.cpp" /> <ClCompile Include="event_handler.cpp" /> <ClCompile Include="event_loop.cpp" /> <ClCompile Include="file.cpp" /> @@ -205,6 +207,7 @@ </ItemGroup> <ItemGroup> <ClInclude Include="libfilezilla\apply.hpp" /> + <ClInclude Include="libfilezilla\buffer.hpp" /> <ClInclude Include="libfilezilla\encode.hpp" /> <ClInclude Include="libfilezilla\event.hpp" /> <ClInclude Include="libfilezilla\event_handler.hpp" /> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libfilezilla-0.10.1/lib/local_filesys.cpp new/libfilezilla-0.11.0/lib/local_filesys.cpp --- old/libfilezilla-0.10.1/lib/local_filesys.cpp 2017-08-14 12:33:11.000000000 +0200 +++ new/libfilezilla-0.11.0/lib/local_filesys.cpp 2017-09-29 10:41:58.000000000 +0200 @@ -54,7 +54,7 @@ } // Follow the reparse point - HANDLE hFile = is_dir ? INVALID_HANDLE_VALUE : CreateFile(path.c_str(), FILE_READ_ATTRIBUTES | FILE_READ_EA, FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE, 0, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0); + HANDLE hFile = is_dir ? INVALID_HANDLE_VALUE : CreateFile(path.c_str(), FILE_READ_ATTRIBUTES | FILE_READ_EA, FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE, nullptr, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, nullptr); if (hFile == INVALID_HANDLE_VALUE) { return unknown; } @@ -129,7 +129,7 @@ if (data.dwFileAttributes & FILE_ATTRIBUTE_REPARSE_POINT && IsReparseTagNameSurrogate(data.dwReserved0)) { is_link = true; - HANDLE hFile = is_dir ? INVALID_HANDLE_VALUE : CreateFile(path.c_str(), FILE_READ_ATTRIBUTES | FILE_READ_EA, FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE, 0, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0); + HANDLE hFile = is_dir ? INVALID_HANDLE_VALUE : CreateFile(path.c_str(), FILE_READ_ATTRIBUTES | FILE_READ_EA, FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE, nullptr, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, nullptr); if (hFile != INVALID_HANDLE_VALUE) { BY_HANDLE_FILE_INFORMATION info{}; int ret = GetFileInformationByHandle(hFile, &info); @@ -266,7 +266,7 @@ end_find_files(); - m_dirs_only = dirs_only; + dirs_only_ = dirs_only; #ifdef FZ_WINDOWS if (is_separator(path.back())) { m_find_path = path; @@ -277,21 +277,21 @@ path += fzT("\\*"); } - m_hFind = FindFirstFileEx(path.c_str(), FindExInfoStandard, &m_find_data, dirs_only ? FindExSearchLimitToDirectories : FindExSearchNameMatch, 0, 0); + m_hFind = FindFirstFileEx(path.c_str(), FindExInfoStandard, &m_find_data, dirs_only ? FindExSearchLimitToDirectories : FindExSearchNameMatch, nullptr, 0); if (m_hFind == INVALID_HANDLE_VALUE) { - m_found = false; + has_next_ = false; return false; } - m_found = true; + has_next_ = true; return true; #else if (path.size() > 1 && path.back() == '/') { path.pop_back(); } - m_dir = opendir(path.c_str()); - if (!m_dir) { + dir_ = opendir(path.c_str()); + if (!dir_) { return false; } @@ -313,66 +313,66 @@ void local_filesys::end_find_files() { #ifdef FZ_WINDOWS - m_found = false; + has_next_ = false; if (m_hFind != INVALID_HANDLE_VALUE) { FindClose(m_hFind); m_hFind = INVALID_HANDLE_VALUE; } #else - if (m_dir) { - closedir(m_dir); - m_dir = 0; + if (dir_) { + closedir(dir_); + dir_ = nullptr; } delete [] m_raw_path; - m_raw_path = 0; - m_file_part = 0; + m_raw_path = nullptr; + m_file_part = nullptr; #endif } bool local_filesys::get_next_file(native_string& name) { #ifdef FZ_WINDOWS - if (!m_found) { + if (!has_next_) { return false; } do { name = m_find_data.cFileName; if (name.empty()) { - m_found = FindNextFile(m_hFind, &m_find_data) != 0; + has_next_ = FindNextFile(m_hFind, &m_find_data) != 0; return true; } if (name == fzT(".") || name == fzT("..")) { continue; } - if (m_dirs_only && !(m_find_data.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)) { + if (dirs_only_ && !(m_find_data.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)) { continue; } - m_found = FindNextFile(m_hFind, &m_find_data) != 0; + has_next_ = FindNextFile(m_hFind, &m_find_data) != 0; return true; - } while ((m_found = FindNextFile(m_hFind, &m_find_data) != 0)); + } while ((has_next_ = FindNextFile(m_hFind, &m_find_data) != 0)); return false; #else - if (!m_dir) { + if (!dir_) { return false; } struct dirent* entry; - while ((entry = readdir(m_dir))) { + while ((entry = readdir(dir_))) { if (!entry->d_name[0] || !strcmp(entry->d_name, ".") || !strcmp(entry->d_name, "..")) continue; - if (m_dirs_only) { + if (dirs_only_) { #if HAVE_STRUCT_DIRENT_D_TYPE if (entry->d_type == DT_LNK) { bool wasLink; alloc_path_buffer(entry->d_name); strcpy(m_file_part, entry->d_name); - if (get_file_info(m_raw_path, wasLink, 0, 0, 0) != dir) { + if (get_file_info(m_raw_path, wasLink, nullptr, nullptr, nullptr) != dir) { continue; } } @@ -384,7 +384,7 @@ bool wasLink; alloc_path_buffer(entry->d_name); strcpy(m_file_part, entry->d_name); - if (get_file_info(m_raw_path, wasLink, 0, 0, 0) != dir) { + if (get_file_info(m_raw_path, wasLink, nullptr, nullptr, nullptr) != dir) { continue; } #endif @@ -402,14 +402,14 @@ bool local_filesys::get_next_file(native_string& name, bool &is_link, bool &is_dir, int64_t* size, datetime* modification_time, int* mode) { #ifdef FZ_WINDOWS - if (!m_found) { + if (!has_next_) { return false; } do { if (!m_find_data.cFileName[0]) { continue; } - if (m_dirs_only && !(m_find_data.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)) { + if (dirs_only_ && !(m_find_data.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)) { continue; } @@ -423,7 +423,7 @@ is_link = (m_find_data.dwFileAttributes & FILE_ATTRIBUTE_REPARSE_POINT) != 0 && IsReparseTagNameSurrogate(m_find_data.dwReserved0); if (is_link) { // Follow the reparse point - HANDLE hFile = is_dir ? INVALID_HANDLE_VALUE : CreateFile((m_find_path + name).c_str(), FILE_READ_ATTRIBUTES | FILE_READ_EA, FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE, 0, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0); + HANDLE hFile = is_dir ? INVALID_HANDLE_VALUE : CreateFile((m_find_path + name).c_str(), FILE_READ_ATTRIBUTES | FILE_READ_EA, FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE, nullptr, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, nullptr); if (hFile != INVALID_HANDLE_VALUE) { BY_HANDLE_FILE_INFORMATION info{}; int ret = GetFileInformationByHandle(hFile, &info); @@ -451,12 +451,12 @@ } } - m_found = FindNextFile(m_hFind, &m_find_data) != 0; + has_next_ = FindNextFile(m_hFind, &m_find_data) != 0; return true; } } - if (m_dirs_only && !is_dir) { + if (dirs_only_ && !is_dir) { continue; } @@ -491,25 +491,25 @@ } } } - m_found = FindNextFile(m_hFind, &m_find_data) != 0; + has_next_ = FindNextFile(m_hFind, &m_find_data) != 0; return true; - } while ((m_found = FindNextFile(m_hFind, &m_find_data) != 0)); + } while ((has_next_ = FindNextFile(m_hFind, &m_find_data) != 0)); return false; #else - if (!m_dir) { + if (!dir_) { return false; } struct dirent* entry; - while ((entry = readdir(m_dir))) { + while ((entry = readdir(dir_))) { if (!entry->d_name[0] || !strcmp(entry->d_name, ".") || !strcmp(entry->d_name, "..")) continue; #if HAVE_STRUCT_DIRENT_D_TYPE - if (m_dirs_only) { + if (dirs_only_) { if (entry->d_type == DT_LNK) { alloc_path_buffer(entry->d_name); strcpy(m_file_part, entry->d_name); @@ -549,7 +549,7 @@ *mode = 0; } } - if (m_dirs_only && t != dir) { + if (dirs_only_ && t != dir) { continue; } @@ -586,7 +586,7 @@ datetime mtime; bool tmp; - if (get_file_info(path, tmp, 0, &mtime, 0) == unknown) { + if (get_file_info(path, tmp, nullptr, &mtime, nullptr) == unknown) { mtime = datetime(); } @@ -605,12 +605,12 @@ return false; } - HANDLE h = CreateFile(path.c_str(), GENERIC_WRITE, FILE_SHARE_WRITE | FILE_SHARE_READ, 0, OPEN_EXISTING, 0, 0); + HANDLE h = CreateFile(path.c_str(), GENERIC_WRITE, FILE_SHARE_WRITE | FILE_SHARE_READ, nullptr, OPEN_EXISTING, 0, nullptr); if (h == INVALID_HANDLE_VALUE) { return false; } - bool ret = SetFileTime(h, 0, &ft, &ft) == TRUE; + bool ret = SetFileTime(h, nullptr, &ft, &ft) == TRUE; CloseHandle(h); return ret; #else @@ -625,7 +625,7 @@ { int64_t ret = -1; bool tmp{}; - type t = get_file_info(path, is_link ? *is_link : tmp, &ret, 0, 0); + type t = get_file_info(path, is_link ? *is_link : tmp, &ret, nullptr, nullptr); if (t != file) { ret = -1; } @@ -638,7 +638,7 @@ native_string target; #ifdef FZ_WINDOWS - HANDLE hFile = CreateFile(path.c_str(), FILE_READ_ATTRIBUTES | FILE_READ_EA, FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE, 0, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0); + HANDLE hFile = CreateFile(path.c_str(), FILE_READ_ATTRIBUTES | FILE_READ_EA, FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE, nullptr, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, nullptr); if (hFile != INVALID_HANDLE_VALUE) { DWORD const size = 1024; native_string::value_type out[size]; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libfilezilla-0.10.1/lib/process.cpp new/libfilezilla-0.11.0/lib/process.cpp --- old/libfilezilla-0.10.1/lib/process.cpp 2016-10-25 15:03:50.000000000 +0200 +++ new/libfilezilla-0.11.0/lib/process.cpp 2017-09-29 10:41:58.000000000 +0200 @@ -124,7 +124,7 @@ auto cmdline_buf = &cmdline[0]; DWORD const flags = CREATE_UNICODE_ENVIRONMENT | CREATE_DEFAULT_ERROR_MODE | CREATE_NO_WINDOW; - BOOL res = CreateProcess(cmd.c_str(), cmdline_buf, 0, 0, TRUE, flags, 0, 0, &si, &pi); + BOOL res = CreateProcess(cmd.c_str(), cmdline_buf, nullptr, nullptr, TRUE, flags, nullptr, nullptr, &si, &pi); if (!res) { return false; } @@ -156,7 +156,7 @@ int read(char* buffer, unsigned int len) { DWORD read = 0; - BOOL res = ReadFile(out_.read_, buffer, len, &read, 0); + BOOL res = ReadFile(out_.read_, buffer, len, &read, nullptr); if (!res) { #if FZ_WINDOWS // ERROR_BROKEN_PIPE indicated EOF. @@ -173,7 +173,7 @@ { while (len > 0) { DWORD written = 0; - BOOL res = WriteFile(in_.write_, buffer, len, &written, 0); + BOOL res = WriteFile(in_.write_, buffer, len, &written, nullptr); if (!res || written == 0) { return false; } @@ -349,7 +349,7 @@ for (auto const& a : argList) { *(v++) = a.get(); } - *v = 0; + *v = nullptr; } bool spawn(native_string const& cmd, std::vector<native_string> const& args) @@ -362,6 +362,10 @@ return false; } + std::vector<std::unique_ptr<char[]>> argList; + std::unique_ptr<char *[]> argV; + get_argv(cmd, args, argList, argV); + int pid = fork(); if (pid < 0) { return false; @@ -382,10 +386,6 @@ _exit(-1); } - std::vector<std::unique_ptr<char[]>> argList; - std::unique_ptr<char *[]> argV; - get_argv(cmd, args, argList, argV); - // Execute process execv(cmd.c_str(), argV.get()); // noreturn on success @@ -413,7 +413,7 @@ int ret; do { - } while ((ret = waitpid(pid_, 0, 0)) == -1 && errno == EINTR); + } while ((ret = waitpid(pid_, nullptr, 0)) == -1 && errno == EINTR); (void)ret; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libfilezilla-0.10.1/lib/string.cpp new/libfilezilla-0.11.0/lib/string.cpp --- old/libfilezilla-0.10.1/lib/string.cpp 2017-07-10 19:43:37.000000000 +0200 +++ new/libfilezilla-0.11.0/lib/string.cpp 2017-09-29 10:41:58.000000000 +0200 @@ -90,7 +90,7 @@ std::wstring ret; char const* in_p = in.c_str(); - size_t len = std::mbsrtowcs(0, &in_p, 0, &ps); + size_t len = std::mbsrtowcs(nullptr, &in_p, 0, &ps); if (len != static_cast<size_t>(-1)) { ret.resize(len); wchar_t* out_p = &ret[0]; @@ -170,7 +170,7 @@ if (len != 0) { #if FZ_WINDOWS char const* const in_p = s; - int out_len = MultiByteToWideChar(CP_UTF8, MB_ERR_INVALID_CHARS, in_p, static_cast<int>(len), 0, 0); + int out_len = MultiByteToWideChar(CP_UTF8, MB_ERR_INVALID_CHARS, in_p, static_cast<int>(len), nullptr, 0); if (out_len > 0) { ret.resize(out_len); wchar_t* out_p = &ret[0]; @@ -208,7 +208,7 @@ std::string ret; wchar_t const* in_p = in.c_str(); - size_t len = std::wcsrtombs(0, &in_p, 0, &ps); + size_t len = std::wcsrtombs(nullptr, &in_p, 0, &ps); if (len != static_cast<size_t>(-1)) { ret.resize(len); char* out_p = &ret[0]; @@ -232,11 +232,11 @@ if (!in.empty()) { #if FZ_WINDOWS wchar_t const* const in_p = in.c_str(); - int len = WideCharToMultiByte(CP_UTF8, WC_ERR_INVALID_CHARS, in_p, static_cast<int>(in.size()), 0, 0, 0, 0); + int len = WideCharToMultiByte(CP_UTF8, WC_ERR_INVALID_CHARS, in_p, static_cast<int>(in.size()), nullptr, 0, nullptr, nullptr); if (len > 0) { ret.resize(len); char* out_p = &ret[0]; - WideCharToMultiByte(CP_UTF8, WC_ERR_INVALID_CHARS, in_p, static_cast<int>(in.size()), out_p, len, 0, 0); + WideCharToMultiByte(CP_UTF8, WC_ERR_INVALID_CHARS, in_p, static_cast<int>(in.size()), out_p, len, nullptr, nullptr); } #else iconv_t cd = iconv_open("UTF-8", wchar_t_encoding()); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libfilezilla-0.10.1/lib/thread.cpp new/libfilezilla-0.11.0/lib/thread.cpp --- old/libfilezilla-0.10.1/lib/thread.cpp 2016-10-03 15:34:49.000000000 +0200 +++ new/libfilezilla-0.11.0/lib/thread.cpp 2017-09-29 10:41:58.000000000 +0200 @@ -17,7 +17,7 @@ bool thread::joinable() const { - return impl_ == 0; + return impl_ == nullptr; } #ifdef USE_CUSTOM_THREADS @@ -85,7 +85,7 @@ { scoped_lock l(impl_->m_); - impl_->handle_ = reinterpret_cast<HANDLE>(_beginthreadex(0, 0, thread_proc, impl_, 0, 0)); + impl_->handle_ = reinterpret_cast<HANDLE>(_beginthreadex(nullptr, 0, thread_proc, impl_, 0, nullptr)); } // _beginthreadex returns 0 on error, whereas _beginthread returns -1 @@ -93,10 +93,10 @@ // so we check that as well. if (!impl_->handle_ || impl_->handle_ == INVALID_HANDLE_VALUE) { delete impl_; - impl_ = 0; + impl_ = nullptr; } - return impl_ != 0; + return impl_ != nullptr; } void thread::join() @@ -105,7 +105,7 @@ WaitForSingleObject(impl_->handle_, INFINITE); CloseHandle(impl_->handle_); delete impl_; - impl_ = 0; + impl_ = nullptr; } } @@ -152,10 +152,10 @@ } catch (std::exception const&) { delete impl_; - impl_ = 0; + impl_ = nullptr; } - return impl_ != 0; + return impl_ != nullptr; } void thread::join() @@ -163,7 +163,7 @@ if (impl_) { impl_->t_.join(); delete impl_; - impl_ = 0; + impl_ = nullptr; } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libfilezilla-0.10.1/lib/thread_pool.cpp new/libfilezilla-0.11.0/lib/thread_pool.cpp --- old/libfilezilla-0.10.1/lib/thread_pool.cpp 2017-05-25 20:35:14.000000000 +0200 +++ new/libfilezilla-0.11.0/lib/thread_pool.cpp 2017-09-29 10:41:58.000000000 +0200 @@ -80,7 +80,7 @@ impl_->task_cond_.wait(l); impl_->f_ = std::function<void()>(); impl_->pool_.idle_.push_back(impl_); - impl_ = 0; + impl_ = nullptr; } } @@ -93,7 +93,7 @@ } else { impl_->detached_ = true; - impl_ = 0; + impl_ = nullptr; } } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libfilezilla-0.10.1/lib/time.cpp new/libfilezilla-0.11.0/lib/time.cpp --- old/libfilezilla-0.10.1/lib/time.cpp 2016-04-15 09:52:15.000000000 +0200 +++ new/libfilezilla-0.11.0/lib/time.cpp 2017-09-29 10:41:58.000000000 +0200 @@ -143,7 +143,7 @@ #else datetime ret; timeval tv = { 0, 0 }; - if (gettimeofday(&tv, 0) == 0) { + if (gettimeofday(&tv, nullptr) == 0) { ret.t_ = static_cast<int64_t>(tv.tv_sec) * 1000 + tv.tv_usec / 1000; ret.a_ = milliseconds; } @@ -426,7 +426,7 @@ FILETIME ft{}; if (a >= datetime::hours && z == datetime::local) { SYSTEMTIME st2{}; - if (!TzSpecificLocalTimeToSystemTime(0, &st, &st2)) { + if (!TzSpecificLocalTimeToSystemTime(nullptr, &st, &st2)) { return false; } if (!SystemTimeToFileTime(&st2, &ft)) { @@ -709,7 +709,7 @@ if (a_ >= hours && z == local) { SYSTEMTIME st2; - if (SystemTimeToTzSpecificLocalTime(0, &st, &st2)) { + if (SystemTimeToTzSpecificLocalTime(nullptr, &st, &st2)) { st = st2; } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libfilezilla-0.10.1/lib/util.cpp new/libfilezilla-0.11.0/lib/util.cpp --- old/libfilezilla-0.10.1/lib/util.cpp 2017-05-25 20:35:14.000000000 +0200 +++ new/libfilezilla-0.11.0/lib/util.cpp 2017-09-29 10:41:58.000000000 +0200 @@ -22,7 +22,7 @@ timespec ts{}; ts.tv_sec = d.get_seconds(); ts.tv_nsec = (d.get_milliseconds() % 1000) * 1000000; - nanosleep(&ts, 0); + nanosleep(&ts, nullptr); #endif } @@ -35,7 +35,7 @@ { provider() { - if (!CryptAcquireContextW(&h_, 0, 0, PROV_RSA_FULL, CRYPT_VERIFYCONTEXT | CRYPT_SILENT)) { + if (!CryptAcquireContextW(&h_, nullptr, nullptr, PROV_RSA_FULL, CRYPT_VERIFYCONTEXT | CRYPT_SILENT)) { h_ = 0; } mt_.seed(datetime::now().get_time_t()); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libfilezilla-0.10.1/m4/check_iconv.m4 new/libfilezilla-0.11.0/m4/check_iconv.m4 --- old/libfilezilla-0.10.1/m4/check_iconv.m4 2015-11-02 14:47:31.000000000 +0100 +++ new/libfilezilla-0.11.0/m4/check_iconv.m4 2017-09-29 10:41:58.000000000 +0200 @@ -8,7 +8,7 @@ #include <iconv.h> int main() { - iconv_t ret = iconv_open(0, 0); + iconv_t ret = iconv_open(nullptr, nullptr); return (ret == (iconv_t)-1) ? 1 : 0; } ]]) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libfilezilla-0.10.1/m4/check_thread_local.m4 new/libfilezilla-0.11.0/m4/check_thread_local.m4 --- old/libfilezilla-0.10.1/m4/check_thread_local.m4 2015-11-02 14:47:31.000000000 +0100 +++ new/libfilezilla-0.11.0/m4/check_thread_local.m4 2017-09-29 10:41:58.000000000 +0200 @@ -10,6 +10,7 @@ AC_LANG_PROGRAM([[ ]], [[ thread_local static int foo = 0; + (void)foo; return 0; ]]) ], [ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libfilezilla-0.10.1/tests/test_utils.hpp new/libfilezilla-0.11.0/tests/test_utils.hpp --- old/libfilezilla-0.10.1/tests/test_utils.hpp 2016-02-21 11:35:46.000000000 +0100 +++ new/libfilezilla-0.11.0/tests/test_utils.hpp 2017-09-29 10:41:58.000000000 +0200 @@ -7,13 +7,13 @@ #include <cppunit/extensions/HelperMacros.h> template<typename T> -std::string inline value_to_string(T const& t, typename std::enable_if_t<std::is_enum<T>::value>* = 0) +std::string inline value_to_string(T const& t, typename std::enable_if_t<std::is_enum<T>::value>* = nullptr) { return std::to_string(std::underlying_type_t<T>(t)); } template<typename T> -std::string inline value_to_string(T const& t, typename std::enable_if_t<std::is_arithmetic<T>::value>* = 0) +std::string inline value_to_string(T const& t, typename std::enable_if_t<std::is_arithmetic<T>::value>* = nullptr) { return std::to_string(t); }