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);
 }


Reply via email to