Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package libfsntfs for openSUSE:Factory 
checked in at 2022-01-08 23:24:00
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libfsntfs (Old)
 and      /work/SRC/openSUSE:Factory/.libfsntfs.new.1892 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "libfsntfs"

Sat Jan  8 23:24:00 2022 rev:12 rq:944876 version:20211229

Changes:
--------
--- /work/SRC/openSUSE:Factory/libfsntfs/libfsntfs.changes      2021-11-27 
00:51:57.878669426 +0100
+++ /work/SRC/openSUSE:Factory/.libfsntfs.new.1892/libfsntfs.changes    
2022-01-08 23:24:40.106283032 +0100
@@ -1,0 +2,6 @@
+Wed Dec 29 10:20:20 UTC 2021 - Jan Engelhardt <jeng...@inai.de>
+
+- Update to release 20211229
+  * Unspecified tool updates, unspecified Python binding updates
+
+-------------------------------------------------------------------

Old:
----
  libfsntfs-experimental-20211023.tar.gz
  libfsntfs-experimental-20211023.tar.gz.asc

New:
----
  libfsntfs-experimental-20211229.tar.gz
  libfsntfs-experimental-20211229.tar.gz.asc

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ libfsntfs.spec ++++++
--- /var/tmp/diff_new_pack.FrLny9/_old  2022-01-08 23:24:40.626283457 +0100
+++ /var/tmp/diff_new_pack.FrLny9/_new  2022-01-08 23:24:40.630283460 +0100
@@ -18,7 +18,7 @@
 
 %define lname  libfsntfs1
 Name:           libfsntfs
-Version:        20211023
+Version:        20211229
 Release:        0
 Summary:        Library and tools to access the NTFS filesystem
 License:        GFDL-1.3-or-later AND LGPL-3.0-or-later
@@ -34,22 +34,22 @@
 BuildRequires:  pkg-config
 BuildRequires:  pkgconfig(fuse) >= 2.6
 BuildRequires:  pkgconfig(libbfio) >= 20201229
-BuildRequires:  pkgconfig(libcdata) >= 20200509
+BuildRequires:  pkgconfig(libcdata) >= 20210625
 BuildRequires:  pkgconfig(libcerror) >= 20201121
 BuildRequires:  pkgconfig(libcfile) >= 20201229
-BuildRequires:  pkgconfig(libclocale) >= 20200913
+BuildRequires:  pkgconfig(libclocale) >= 20210526
 BuildRequires:  pkgconfig(libcnotify) >= 20200913
 BuildRequires:  pkgconfig(libcpath) >= 20200623
 BuildRequires:  pkgconfig(libcsplit) >= 20200703
-BuildRequires:  pkgconfig(libcthreads) >= 20200508
+BuildRequires:  pkgconfig(libcthreads) >= 20211115
 BuildRequires:  pkgconfig(libfcache) >= 20200708
 BuildRequires:  pkgconfig(libfdata) >= 20211023
 BuildRequires:  pkgconfig(libfdatetime) >= 20180910
 BuildRequires:  pkgconfig(libfguid) >= 20180724
 BuildRequires:  pkgconfig(libfusn) >= 20180726
-BuildRequires:  pkgconfig(libfwnt) >= 20210421
+BuildRequires:  pkgconfig(libfwnt) >= 20210906
 BuildRequires:  pkgconfig(libhmac) >= 20200104
-BuildRequires:  pkgconfig(libuna) >= 20201204
+BuildRequires:  pkgconfig(libuna) >= 20210801
 BuildRequires:  pkgconfig(python3)
 
 %description

++++++ libfsntfs-experimental-20211023.tar.gz -> 
libfsntfs-experimental-20211229.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libfsntfs-20211023/ChangeLog 
new/libfsntfs-20211229/ChangeLog
--- old/libfsntfs-20211023/ChangeLog    2021-09-28 06:10:23.000000000 +0200
+++ new/libfsntfs-20211229/ChangeLog    2021-12-29 08:41:47.000000000 +0100
@@ -1,4 +1,5 @@
 TODO
+* fsntfsinfo: mode_as_string set 'l' if symbolic link target is set
 * fsntfsinfo: print $VOLUME_INFORMATION flags
 * fsntfsinfo: print volume size
 * fsntfsinfo: print extents/data runs of $DATA stream?
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libfsntfs-20211023/common/config.h 
new/libfsntfs-20211229/common/config.h
--- old/libfsntfs-20211023/common/config.h      2021-10-23 11:59:07.000000000 
+0200
+++ new/libfsntfs-20211229/common/config.h      2021-12-29 09:12:38.000000000 
+0100
@@ -611,7 +611,7 @@
 #define PACKAGE_NAME "libfsntfs"
 
 /* Define to the full name and version of this package. */
-#define PACKAGE_STRING "libfsntfs 20211023"
+#define PACKAGE_STRING "libfsntfs 20211229"
 
 /* Define to the one symbol short name of this package. */
 #define PACKAGE_TARNAME "libfsntfs"
@@ -620,7 +620,7 @@
 #define PACKAGE_URL ""
 
 /* Define to the version of this package. */
-#define PACKAGE_VERSION "20211023"
+#define PACKAGE_VERSION "20211229"
 
 /* The size of `int', as computed by sizeof. */
 #define SIZEOF_INT 4
@@ -650,7 +650,7 @@
 /* #undef TM_IN_SYS_TIME */
 
 /* Version number of package */
-#define VERSION "20211023"
+#define VERSION "20211229"
 
 /* Enable large inode numbers on Mac OS X 10.5.  */
 #ifndef _DARWIN_USE_64_BIT_INODE
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libfsntfs-20211023/configure 
new/libfsntfs-20211229/configure
--- old/libfsntfs-20211023/configure    2021-10-23 11:58:43.000000000 +0200
+++ new/libfsntfs-20211229/configure    2021-12-29 09:12:21.000000000 +0100
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for libfsntfs 20211023.
+# Generated by GNU Autoconf 2.69 for libfsntfs 20211229.
 #
 # Report bugs to <joachim.m...@gmail.com>.
 #
@@ -590,8 +590,8 @@
 # Identity of this package.
 PACKAGE_NAME='libfsntfs'
 PACKAGE_TARNAME='libfsntfs'
-PACKAGE_VERSION='20211023'
-PACKAGE_STRING='libfsntfs 20211023'
+PACKAGE_VERSION='20211229'
+PACKAGE_STRING='libfsntfs 20211229'
 PACKAGE_BUGREPORT='joachim.m...@gmail.com'
 PACKAGE_URL=''
 
@@ -1714,7 +1714,7 @@
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures libfsntfs 20211023 to adapt to many kinds of systems.
+\`configure' configures libfsntfs 20211229 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1785,7 +1785,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of libfsntfs 20211023:";;
+     short | recursive ) echo "Configuration of libfsntfs 20211229:";;
    esac
   cat <<\_ACEOF
 
@@ -2073,7 +2073,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-libfsntfs configure 20211023
+libfsntfs configure 20211229
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2846,7 +2846,7 @@
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by libfsntfs $as_me 20211023, which was
+It was created by libfsntfs $as_me 20211229, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -3713,7 +3713,7 @@
 
 # Define the identity of the package.
  PACKAGE='libfsntfs'
- VERSION='20211023'
+ VERSION='20211229'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -51068,7 +51068,7 @@
   if test "x${PYTHON_VERSION}" != x; then :
   ax_python_progs="python${PYTHON_VERSION}"
 else
-  ax_python_progs="python python3 python3.10 python3.9 python3.8 python3.7 
python3.6 python3.5 python3.4 python3.3 python3.2 python3.1 python3.0 python2 
python2.7 python2.6 python2.5"
+  ax_python_progs="python python3 python3.11 python3.10 python3.9 python3.8 
python3.7 python3.6 python3.5 python3.4 python3.3 python3.2 python3.1 python3.0 
python2 python2.7 python2.6 python2.5"
 fi
   for ac_prog in $ax_python_progs
 do
@@ -51113,7 +51113,7 @@
 done
 
   if test "x${PYTHON}" != x; then :
-  ax_prog_python_version=`${PYTHON} -c "import sys; 
sys.stdout.write(sys.version[:3])" 2>/dev/null`;
+  ax_prog_python_version=`${PYTHON} -c "import sys; sys.stdout.write('%d.%d' % 
(sys.version_info[0], sys.version_info[1]))" 2>/dev/null`;
     ax_prog_python_platform=`${PYTHON} -c "import sys; 
sys.stdout.write(sys.platform)" 2>/dev/null`;
     PYTHON_PLATFORM=$ax_prog_python_platform
 
@@ -51171,7 +51171,7 @@
 
 fi
   if test "x${PYTHON_CONFIG}" = x; then :
-  for ac_prog in python-config python3-config python3.10-config 
python3.9-config python3.8-config python3.7-config python3.6-config 
python3.5-config python3.4-config python3.3-config python3.2-config 
python3.1-config python3.0-config python2-config python2.7-config 
python2.6-config python2.5-config
+  for ac_prog in python-config python3-config python3.11-config 
python3.10-config python3.9-config python3.8-config python3.7-config 
python3.6-config python3.5-config python3.4-config python3.3-config 
python3.2-config python3.1-config python3.0-config python2-config 
python2.7-config python2.6-config python2.5-config
 do
   # Extract the first word of "$ac_prog", so it can be a program name with 
args.
 set dummy $ac_prog; ac_word=$2
@@ -51379,7 +51379,7 @@
 done
 
   if test "x${PYTHON2}" != x; then :
-  ax_prog_python2_version=`${PYTHON2} -c "import sys; 
sys.stdout.write(sys.version[:3])" 2>/dev/null`;
+  ax_prog_python2_version=`${PYTHON2} -c "import sys; sys.stdout.write('%d.%d' 
% (sys.version_info[0], sys.version_info[1]))" 2>/dev/null`;
     PYTHON2_VERSION=$ax_prog_python2_version
 
 
@@ -51559,7 +51559,7 @@
 fi
 
   if test "x${ac_cv_enable_python3}" != xno; then :
-  ax_python3_progs="python3 python3.10 python3.9 python3.8 python3.7 python3.6 
python3.5 python3.4 python3.3 python3.2 python3.1 python3.0"
+  ax_python3_progs="python3 python3.11 python3.10 python3.9 python3.8 
python3.7 python3.6 python3.5 python3.4 python3.3 python3.2 python3.1 python3.0"
   for ac_prog in $ax_python3_progs
 do
   # Extract the first word of "$ac_prog", so it can be a program name with 
args.
@@ -51603,7 +51603,7 @@
 done
 
   if test "x${PYTHON3}" != x; then :
-  ax_prog_python3_version=`${PYTHON3} -c "import sys; 
sys.stdout.write(sys.version[:3])" 2>/dev/null`;
+  ax_prog_python3_version=`${PYTHON3} -c "import sys; sys.stdout.write('%d.%d' 
% (sys.version_info[0], sys.version_info[1]))" 2>/dev/null`;
     PYTHON3_VERSION=$ax_prog_python3_version
 
 
@@ -51619,7 +51619,7 @@
 
 
   if test "x${PYTHON3_CONFIG}" = x; then :
-  for ac_prog in python3-config python3.10-config python3.9-config 
python3.8-config python3.7-config python3.6-config python3.5-config 
python3.4-config python3.3-config python3.2-config python3.1-config 
python3.0-config
+  for ac_prog in python3-config python3.11-config python3.10-config 
python3.9-config python3.8-config python3.7-config python3.6-config 
python3.5-config python3.4-config python3.3-config python3.2-config 
python3.1-config python3.0-config
 do
   # Extract the first word of "$ac_prog", so it can be a program name with 
args.
 set dummy $ac_prog; ac_word=$2
@@ -58229,7 +58229,7 @@
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by libfsntfs $as_me 20211023, which was
+This file was extended by libfsntfs $as_me 20211229, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -58295,7 +58295,7 @@
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; 
s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-libfsntfs config.status 20211023
+libfsntfs config.status 20211229
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libfsntfs-20211023/configure.ac 
new/libfsntfs-20211229/configure.ac
--- old/libfsntfs-20211023/configure.ac 2021-10-23 11:20:12.000000000 +0200
+++ new/libfsntfs-20211229/configure.ac 2021-12-29 08:41:16.000000000 +0100
@@ -2,7 +2,7 @@
 
 AC_INIT(
  [libfsntfs],
- [20211023],
+ [20211229],
  [joachim.m...@gmail.com])
 
 AC_CONFIG_SRCDIR(
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libfsntfs-20211023/dpkg/changelog 
new/libfsntfs-20211229/dpkg/changelog
--- old/libfsntfs-20211023/dpkg/changelog       2021-10-23 11:59:07.000000000 
+0200
+++ new/libfsntfs-20211229/dpkg/changelog       2021-12-29 09:12:38.000000000 
+0100
@@ -1,5 +1,5 @@
-libfsntfs (20211023-1) unstable; urgency=low
+libfsntfs (20211229-1) unstable; urgency=low
 
   * Auto-generated
 
- -- Joachim Metz <joachim.m...@gmail.com>  Sat, 23 Oct 2021 11:59:06 +0200
+ -- Joachim Metz <joachim.m...@gmail.com>  Wed, 29 Dec 2021 09:12:37 +0100
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libfsntfs-20211023/fsntfstools/info_handle.c 
new/libfsntfs-20211229/fsntfstools/info_handle.c
--- old/libfsntfs-20211023/fsntfstools/info_handle.c    2021-10-22 
11:29:36.000000000 +0200
+++ new/libfsntfs-20211229/fsntfstools/info_handle.c    2021-12-29 
08:40:58.000000000 +0100
@@ -5342,7 +5342,7 @@
      size_t file_entry_name_length,
      libcerror_error_t **error )
 {
-       char file_mode_string[ 13 ]      = { '-', '/', '-', 'r', 'w', 'x', 'r', 
'w', 'x', 'r', 'w', 'x', 0 };
+       char file_mode_string[ 11 ]      = { '-', 'r', 'w', 'x', 'r', 'w', 'x', 
'r', 'w', 'x', 0 };
 
        static char *function            = 
"info_handle_bodyfile_file_name_attribute_fprint";
        size64_t size                    = 0;
@@ -5351,6 +5351,10 @@
        uint64_t entry_modification_time = 0;
        uint64_t file_reference          = 0;
        uint64_t modification_time       = 0;
+       int64_t posix_access_time        = 0;
+       int64_t posix_creation_time      = 0;
+       int64_t posix_inode_change_time  = 0;
+       int64_t posix_modification_time  = 0;
        uint32_t file_attribute_flags    = 0;
        uint32_t group_identifier        = 0;
        uint32_t owner_identifier        = 0;
@@ -5483,19 +5487,13 @@
        else if( result != 0 )
        {
                file_mode_string[ 0 ] = 'd';
-               file_mode_string[ 2 ] = 'd';
-       }
-       else
-       {
-               file_mode_string[ 0 ] = 'r';
-               file_mode_string[ 2 ] = 'r';
        }
        if( ( ( file_attribute_flags & LIBFSNTFS_FILE_ATTRIBUTE_FLAG_READ_ONLY 
) != 0 )
         || ( ( file_attribute_flags & LIBFSNTFS_FILE_ATTRIBUTE_FLAG_SYSTEM ) 
!= 0 ) )
        {
-               file_mode_string[ 4 ]  = '-';
-               file_mode_string[ 7 ]  = '-';
-               file_mode_string[ 10 ] = '-';
+               file_mode_string[ 2 ] = '-';
+               file_mode_string[ 5 ] = '-';
+               file_mode_string[ 8 ] = '-';
        }
        /* Colums in a Sleuthkit 3.x and later bodyfile
         * MD5|name|inode|mode_as_string|UID|GID|size|atime|mtime|ctime|crtime
@@ -5543,18 +5541,28 @@
 /* TODO determine Sleuthkit metadata address 
https://wiki.sleuthkit.org/index.php?title=Metadata_Address */
 /* TODO determine $FILE_NAME attribute address */
 
+       posix_access_time       = (int64_t) access_time - 116444736000000000L;
+       posix_creation_time     = (int64_t) creation_time - 116444736000000000L;
+       posix_inode_change_time = (int64_t) entry_modification_time - 
116444736000000000L;
+       posix_modification_time = (int64_t) modification_time - 
116444736000000000L;
+
        fprintf(
         info_handle->bodyfile_stream,
-        " ($FILE_NAME)|%" PRIu64 "|%s|%" PRIu32 "|%" PRIu32 "|%" PRIu64 
"|%.9f|%.9f|%.9f|%.9f\n",
+        " ($FILE_NAME)|%" PRIu64 "-%" PRIu64 "|%s|%" PRIu32 "|%" PRIu32 "|%" 
PRIu64 "|%" PRIi64 ".%07" PRIi64 "|%" PRIi64 ".%07" PRIi64 "|%" PRIi64 ".%07" 
PRIi64 "|%" PRIi64 ".%07" PRIi64 "\n",
         file_reference & 0xffffffffffffUL,
+        file_reference >> 48,
         file_mode_string,
         owner_identifier,
         group_identifier,
         size,
-        (double) ( access_time - 116444736000000000L ) / 10000000,
-        (double) ( modification_time - 116444736000000000L ) / 10000000,
-        (double) ( entry_modification_time - 116444736000000000L ) / 10000000,
-        (double) ( creation_time - 116444736000000000L ) / 10000000 );
+        posix_access_time / 10000000,
+        posix_access_time - ( ( posix_access_time / 10000000 ) * 10000000 ),
+        posix_modification_time / 10000000,
+        posix_modification_time - ( ( posix_modification_time / 10000000 ) * 
10000000 ),
+        posix_inode_change_time / 10000000,
+        posix_inode_change_time - ( ( posix_inode_change_time / 10000000 ) * 
10000000 ),
+        posix_creation_time / 10000000,
+        posix_creation_time - ( ( posix_creation_time / 10000000 ) * 10000000 
) );
 
        return( 1 );
 }
@@ -5574,7 +5582,7 @@
      size_t attribute_name_size,
      libcerror_error_t **error )
 {
-       char file_mode_string[ 13 ]      = { '-', '/', '-', 'r', 'w', 'x', 'r', 
'w', 'x', 'r', 'w', 'x', 0 };
+       char file_mode_string[ 11 ]      = { '-', 'r', 'w', 'x', 'r', 'w', 'x', 
'r', 'w', 'x', 0 };
 
        static char *function            = 
"info_handle_bodyfile_index_root_attribute_fprint";
        size64_t size                    = 0;
@@ -5583,6 +5591,10 @@
        uint64_t entry_modification_time = 0;
        uint64_t file_reference          = 0;
        uint64_t modification_time       = 0;
+       int64_t posix_access_time        = 0;
+       int64_t posix_creation_time      = 0;
+       int64_t posix_inode_change_time  = 0;
+       int64_t posix_modification_time  = 0;
        uint32_t file_attribute_flags    = 0;
        uint32_t group_identifier        = 0;
        uint32_t owner_identifier        = 0;
@@ -5715,19 +5727,13 @@
        else if( result != 0 )
        {
                file_mode_string[ 0 ] = 'd';
-               file_mode_string[ 2 ] = 'd';
-       }
-       else
-       {
-               file_mode_string[ 0 ] = 'r';
-               file_mode_string[ 2 ] = 'r';
        }
        if( ( ( file_attribute_flags & LIBFSNTFS_FILE_ATTRIBUTE_FLAG_READ_ONLY 
) != 0 )
         || ( ( file_attribute_flags & LIBFSNTFS_FILE_ATTRIBUTE_FLAG_SYSTEM ) 
!= 0 ) )
        {
-               file_mode_string[ 4 ]  = '-';
-               file_mode_string[ 7 ]  = '-';
-               file_mode_string[ 10 ] = '-';
+               file_mode_string[ 2 ] = '-';
+               file_mode_string[ 5 ] = '-';
+               file_mode_string[ 8 ] = '-';
        }
        /* Colums in a Sleuthkit 3.x and later bodyfile
         * MD5|name|inode|mode_as_string|UID|GID|size|atime|mtime|ctime|crtime
@@ -5787,18 +5793,28 @@
 /* TODO determine Sleuthkit metadata address 
https://wiki.sleuthkit.org/index.php?title=Metadata_Address */
 /* TODO determine $INDEX_ROOT attribute address */
 
+       posix_access_time       = (int64_t) access_time - 116444736000000000L;
+       posix_creation_time     = (int64_t) creation_time - 116444736000000000L;
+       posix_inode_change_time = (int64_t) entry_modification_time - 
116444736000000000L;
+       posix_modification_time = (int64_t) modification_time - 
116444736000000000L;
+
        fprintf(
         info_handle->bodyfile_stream,
-        "|%" PRIu64 "|%s|%" PRIu32 "|%" PRIu32 "|%" PRIu64 
"|%.9f|%.9f|%.9f|%.9f\n",
+        "|%" PRIu64 "-%" PRIu64 "|%s|%" PRIu32 "|%" PRIu32 "|%" PRIu64 "|%" 
PRIi64 ".%07" PRIi64 "|%" PRIi64 ".%07" PRIi64 "|%" PRIi64 ".%07" PRIi64 "|%" 
PRIi64 ".%07" PRIi64 "\n",
         file_reference & 0xffffffffffffUL,
+        file_reference >> 48,
         file_mode_string,
         owner_identifier,
         group_identifier,
         size,
-        (double) ( access_time - 116444736000000000L ) / 10000000,
-        (double) ( modification_time - 116444736000000000L ) / 10000000,
-        (double) ( entry_modification_time - 116444736000000000L ) / 10000000,
-        (double) ( creation_time - 116444736000000000L ) / 10000000 );
+        posix_access_time / 10000000,
+        posix_access_time - ( ( posix_access_time / 10000000 ) * 10000000 ),
+        posix_modification_time / 10000000,
+        posix_modification_time - ( ( posix_modification_time / 10000000 ) * 
10000000 ),
+        posix_inode_change_time / 10000000,
+        posix_inode_change_time - ( ( posix_inode_change_time / 10000000 ) * 
10000000 ),
+        posix_creation_time / 10000000,
+        posix_creation_time - ( ( posix_creation_time / 10000000 ) * 10000000 
) );
 
        return( 1 );
 }
@@ -5817,26 +5833,33 @@
      const system_character_t *data_stream_name,
      libcerror_error_t **error )
 {
-       char md5_string[ DIGEST_HASH_STRING_SIZE_MD5 ]    = {
+       char md5_string[ DIGEST_HASH_STRING_SIZE_MD5 ] = {
                '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', 
'0', '0', '0', '0',
                '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', 
'0', '0', '0', '0',
                0 };
 
-       char file_mode_string[ 13 ]      = { '-', '/', '-', 'r', 'w', 'x', 'r', 
'w', 'x', 'r', 'w', 'x', 0 };
+       char file_mode_string[ 11 ]              = { '-', 'r', 'w', 'x', 'r', 
'w', 'x', 'r', 'w', 'x', 0 };
 
-       static char *function            = 
"info_handle_bodyfile_file_entry_value_fprint";
-       size64_t size                    = 0;
-       uint64_t access_time             = 0;
-       uint64_t creation_time           = 0;
-       uint64_t entry_modification_time = 0;
-       uint64_t file_reference          = 0;
-       uint64_t mft_entry_index         = 0;
-       uint64_t modification_time       = 0;
-       uint32_t file_attribute_flags    = 0;
-       uint32_t group_identifier        = 0;
-       uint32_t owner_identifier        = 0;
-       int has_default_data_stream      = 0;
-       int result                       = 0;
+       system_character_t *symbolic_link_target = NULL;
+       static char *function                    = 
"info_handle_bodyfile_file_entry_value_fprint";
+       size64_t size                            = 0;
+       size_t symbolic_link_target_length       = 0;
+       size_t symbolic_link_target_size         = 0;
+       uint64_t access_time                     = 0;
+       uint64_t creation_time                   = 0;
+       uint64_t entry_modification_time         = 0;
+       uint64_t file_reference                  = 0;
+       uint64_t mft_entry_index                 = 0;
+       uint64_t modification_time               = 0;
+       int64_t posix_access_time                = 0;
+       int64_t posix_creation_time              = 0;
+       int64_t posix_inode_change_time          = 0;
+       int64_t posix_modification_time          = 0;
+       uint32_t file_attribute_flags            = 0;
+       uint32_t group_identifier                = 0;
+       uint32_t owner_identifier                = 0;
+       int has_default_data_stream              = 0;
+       int result                               = 0;
 
        if( info_handle == NULL )
        {
@@ -5861,7 +5884,7 @@
                 "%s: unable to retrieve file reference.",
                 function );
 
-               return( -1 );
+               goto on_error;
        }
        mft_entry_index = file_reference & 0xffffffffffffUL;
 
@@ -5877,7 +5900,7 @@
                 "%s: unable to retrieve creation time.",
                 function );
 
-               return( -1 );
+               goto on_error;
        }
        if( libfsntfs_file_entry_get_modification_time(
             file_entry,
@@ -5891,7 +5914,7 @@
                 "%s: unable to retrieve modification time.",
                 function );
 
-               return( -1 );
+               goto on_error;
        }
        if( libfsntfs_file_entry_get_access_time(
             file_entry,
@@ -5905,7 +5928,7 @@
                 "%s: unable to retrieve access time.",
                 function );
 
-               return( -1 );
+               goto on_error;
        }
        if( libfsntfs_file_entry_get_entry_modification_time(
             file_entry,
@@ -5919,7 +5942,7 @@
                 "%s: unable to retrieve entry modification time.",
                 function );
 
-               return( -1 );
+               goto on_error;
        }
        if( libfsntfs_file_entry_get_file_attribute_flags(
             file_entry,
@@ -5933,7 +5956,71 @@
                 "%s: unable to retrieve file attribute flags.",
                 function );
 
-               return( -1 );
+               goto on_error;
+       }
+#if defined( HAVE_WIDE_SYSTEM_CHARACTER )
+       result = libfsntfs_file_entry_get_utf16_symbolic_link_target_size(
+                 file_entry,
+                 &symbolic_link_target_size,
+                 error );
+#else
+       result = libfsntfs_file_entry_get_utf8_symbolic_link_target_size(
+                 file_entry,
+                 &symbolic_link_target_size,
+                 error );
+#endif
+       if( result == -1 )
+       {
+               libcerror_error_set(
+                error,
+                LIBCERROR_ERROR_DOMAIN_RUNTIME,
+                LIBCERROR_RUNTIME_ERROR_GET_FAILED,
+                "%s: unable to retrieve symbolic link target string size.",
+                function );
+
+               goto on_error;
+       }
+       else if( result != 0 )
+       {
+               symbolic_link_target = system_string_allocate(
+                                       symbolic_link_target_size );
+
+               if( symbolic_link_target == NULL )
+               {
+                       libcerror_error_set(
+                        error,
+                        LIBCERROR_ERROR_DOMAIN_MEMORY,
+                        LIBCERROR_MEMORY_ERROR_INSUFFICIENT,
+                        "%s: unable to create symbolic link target string.",
+                        function );
+
+                       goto on_error;
+               }
+#if defined( HAVE_WIDE_SYSTEM_CHARACTER )
+               result = libfsntfs_file_entry_get_utf16_symbolic_link_target(
+                         file_entry,
+                         (uint16_t *) symbolic_link_target,
+                         symbolic_link_target_size,
+                         error );
+#else
+               result = libfsntfs_file_entry_get_utf8_symbolic_link_target(
+                         file_entry,
+                         (uint8_t *) symbolic_link_target,
+                         symbolic_link_target_size,
+                         error );
+#endif
+               if( result != 1 )
+               {
+                       libcerror_error_set(
+                        error,
+                        LIBCERROR_ERROR_DOMAIN_RUNTIME,
+                        LIBCERROR_RUNTIME_ERROR_GET_FAILED,
+                        "%s: unable to retrieve symbolic link target string.",
+                        function );
+
+                       goto on_error;
+               }
+               symbolic_link_target_length = symbolic_link_target_size - 1;
        }
        if( alternate_data_stream != NULL )
        {
@@ -5949,7 +6036,7 @@
                         "%s: unable to retrieve size.",
                         function );
 
-                       return( -1 );
+                       goto on_error;
                }
        }
        else
@@ -5966,7 +6053,7 @@
                         "%s: unable to retrieve size.",
                         function );
 
-                       return( -1 );
+                       goto on_error;
                }
        }
        result = libfsntfs_file_entry_has_default_data_stream(
@@ -5982,7 +6069,7 @@
                 "%s: unable to determine if file entry has default data 
stream.",
                 function );
 
-               return( -1 );
+               goto on_error;
        }
        has_default_data_stream = result;
 
@@ -5999,24 +6086,18 @@
                 "%s: unable to determine if file entry has directory entries 
index.",
                 function );
 
-               return( -1 );
+               goto on_error;
        }
        else if( result != 0 )
        {
                file_mode_string[ 0 ] = 'd';
-               file_mode_string[ 2 ] = 'd';
-       }
-       else
-       {
-               file_mode_string[ 0 ] = 'r';
-               file_mode_string[ 2 ] = 'r';
        }
        if( ( ( file_attribute_flags & LIBFSNTFS_FILE_ATTRIBUTE_FLAG_READ_ONLY 
) != 0 )
         || ( ( file_attribute_flags & LIBFSNTFS_FILE_ATTRIBUTE_FLAG_SYSTEM ) 
!= 0 ) )
        {
-               file_mode_string[ 4 ]  = '-';
-               file_mode_string[ 7 ]  = '-';
-               file_mode_string[ 10 ] = '-';
+               file_mode_string[ 2 ] = '-';
+               file_mode_string[ 5 ] = '-';
+               file_mode_string[ 8 ] = '-';
        }
        if( ( info_handle->calculate_md5 == 0 )
         || ( has_default_data_stream == 0 ) )
@@ -6074,7 +6155,7 @@
                         "%s: unable to print path string.",
                         function );
 
-                       return( -1 );
+                       goto on_error;
                }
        }
        if( file_entry_name != NULL )
@@ -6092,7 +6173,7 @@
                         "%s: unable to print file entry name string.",
                         function );
 
-                       return( -1 );
+                       goto on_error;
                }
        }
        if( data_stream_name != NULL )
@@ -6102,23 +6183,70 @@
                 ":%" PRIs_SYSTEM "",
                 data_stream_name );
        }
+       if( symbolic_link_target != NULL )
+       {
+               fprintf(
+                info_handle->bodyfile_stream,
+                " -> " );
+
+               if( info_handle_bodyfile_name_value_fprint(
+                    info_handle,
+                    symbolic_link_target,
+                    symbolic_link_target_length,
+                    error ) != 1 )
+               {
+                       libcerror_error_set(
+                        error,
+                        LIBCERROR_ERROR_DOMAIN_RUNTIME,
+                        LIBCERROR_RUNTIME_ERROR_PRINT_FAILED,
+                        "%s: unable to print file entry name string.",
+                        function );
+
+                       goto on_error;
+               }
+       }
 /* TODO determine Sleuthkit metadata address 
https://wiki.sleuthkit.org/index.php?title=Metadata_Address */
 /* TODO determine $DATA or $INDEX_ROOT attribute address */
 
+       posix_access_time       = (int64_t) access_time - 116444736000000000L;
+       posix_creation_time     = (int64_t) creation_time - 116444736000000000L;
+       posix_inode_change_time = (int64_t) entry_modification_time - 
116444736000000000L;
+       posix_modification_time = (int64_t) modification_time - 
116444736000000000L;
+
        fprintf(
         info_handle->bodyfile_stream,
-        "|%" PRIu64 "|%s|%" PRIu32 "|%" PRIu32 "|%" PRIu64 
"|%.9f|%.9f|%.9f|%.9f\n",
+        "|%" PRIu64 "-%" PRIu64 "|%s|%" PRIu32 "|%" PRIu32 "|%" PRIu64 "|%" 
PRIi64 ".%07" PRIi64 "|%" PRIi64 ".%07" PRIi64 "|%" PRIi64 ".%07" PRIi64 "|%" 
PRIi64 ".%07" PRIi64 "\n",
         mft_entry_index,
+        file_reference >> 48,
         file_mode_string,
         owner_identifier,
         group_identifier,
         size,
-        (double) ( access_time - 116444736000000000L ) / 10000000,
-        (double) ( modification_time - 116444736000000000L ) / 10000000,
-        (double) ( entry_modification_time - 116444736000000000L ) / 10000000,
-        (double) ( creation_time - 116444736000000000L ) / 10000000 );
+        posix_access_time / 10000000,
+        posix_access_time - ( ( posix_access_time / 10000000 ) * 10000000 ),
+        posix_modification_time / 10000000,
+        posix_modification_time - ( ( posix_modification_time / 10000000 ) * 
10000000 ),
+        posix_inode_change_time / 10000000,
+        posix_inode_change_time - ( ( posix_inode_change_time / 10000000 ) * 
10000000 ),
+        posix_creation_time / 10000000,
+        posix_creation_time - ( ( posix_creation_time / 10000000 ) * 10000000 
) );
+
+       if( symbolic_link_target != NULL )
+       {
+               memory_free(
+                symbolic_link_target );
 
+               symbolic_link_target = NULL;
+       }
        return( 1 );
+
+on_error:
+       if( symbolic_link_target != NULL )
+       {
+               memory_free(
+                symbolic_link_target );
+       }
+       return( -1 );
 }
 
 /* Prints the MFT entry to a bodyfile
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libfsntfs-20211023/include/libfsntfs/definitions.h 
new/libfsntfs-20211229/include/libfsntfs/definitions.h
--- old/libfsntfs-20211023/include/libfsntfs/definitions.h      2021-10-23 
11:59:07.000000000 +0200
+++ new/libfsntfs-20211229/include/libfsntfs/definitions.h      2021-12-29 
09:12:38.000000000 +0100
@@ -24,11 +24,11 @@
 
 #include <libfsntfs/types.h>
 
-#define LIBFSNTFS_VERSION                                      20211023
+#define LIBFSNTFS_VERSION                                      20211229
 
 /* The version string
  */
-#define LIBFSNTFS_VERSION_STRING                               "20211023"
+#define LIBFSNTFS_VERSION_STRING                               "20211229"
 
 /* The file access
  * bit 1        set to 1 for read access
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libfsntfs-20211023/libcthreads/libcthreads_condition.c 
new/libfsntfs-20211229/libcthreads/libcthreads_condition.c
--- old/libfsntfs-20211023/libcthreads/libcthreads_condition.c  2021-10-23 
11:58:01.000000000 +0200
+++ new/libfsntfs-20211229/libcthreads/libcthreads_condition.c  2021-12-29 
09:11:53.000000000 +0100
@@ -1,7 +1,7 @@
 /*
  * Condition functions
  *
- * Copyright (C) 2012-2020, Joachim Metz <joachim.m...@gmail.com>
+ * Copyright (C) 2012-2021, Joachim Metz <joachim.m...@gmail.com>
  *
  * Refer to AUTHORS for acknowledgements.
  *
@@ -25,7 +25,7 @@
 
 #include <errno.h>
 
-#if defined( WINAPI ) && ( WINVER >= 0x0602 )
+#if defined( _MSC_VER ) && defined( WINAPI ) && ( WINVER >= 0x0602 )
 #include <Synchapi.h>
 #endif
 
@@ -559,11 +559,12 @@
 
 #if defined( WINAPI )
        DWORD error_code                                     = 0;
-       DWORD wait_status                                    = 0;
 
 #if ( WINVER >= 0x0600 )
        BOOL result                                          = 0;
-#else
+
+#elif ( WINVER >= 0x0400 )
+       DWORD wait_status                                    = 0;
        int is_last_waiting_thread                           = 0;
 #endif
 
@@ -603,7 +604,7 @@
                  &( internal_mutex->critical_section ),
                  INFINITE );
 
-       if( wait_status == WAIT_FAILED )
+       if( result == 0 )
        {
                error_code = GetLastError();
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libfsntfs-20211023/libcthreads/libcthreads_condition.h 
new/libfsntfs-20211229/libcthreads/libcthreads_condition.h
--- old/libfsntfs-20211023/libcthreads/libcthreads_condition.h  2021-10-23 
11:58:01.000000000 +0200
+++ new/libfsntfs-20211229/libcthreads/libcthreads_condition.h  2021-12-29 
09:11:53.000000000 +0100
@@ -1,7 +1,7 @@
 /*
  * Condition functions
  *
- * Copyright (C) 2012-2020, Joachim Metz <joachim.m...@gmail.com>
+ * Copyright (C) 2012-2021, Joachim Metz <joachim.m...@gmail.com>
  *
  * Refer to AUTHORS for acknowledgements.
  *
@@ -25,7 +25,7 @@
 #include <common.h>
 #include <types.h>
 
-#if defined( WINAPI ) && ( WINVER >= 0x0602 )
+#if defined( _MSC_VER ) && defined( WINAPI ) && ( WINVER >= 0x0602 )
 #include <Synchapi.h>
 #endif
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libfsntfs-20211023/libcthreads/libcthreads_definitions.h 
new/libfsntfs-20211229/libcthreads/libcthreads_definitions.h
--- old/libfsntfs-20211023/libcthreads/libcthreads_definitions.h        
2021-10-23 11:58:01.000000000 +0200
+++ new/libfsntfs-20211229/libcthreads/libcthreads_definitions.h        
2021-12-29 09:11:53.000000000 +0100
@@ -1,7 +1,7 @@
 /*
  * The internal definitions
  *
- * Copyright (C) 2012-2020, Joachim Metz <joachim.m...@gmail.com>
+ * Copyright (C) 2012-2021, Joachim Metz <joachim.m...@gmail.com>
  *
  * Refer to AUTHORS for acknowledgements.
  *
@@ -35,11 +35,11 @@
  */
 #else
 
-#define LIBCTHREADS_VERSION                            20200508
+#define LIBCTHREADS_VERSION                            20211115
 
 /* The libcthreads version string
  */
-#define LIBCTHREADS_VERSION_STRING                     "20200508"
+#define LIBCTHREADS_VERSION_STRING                     "20211115"
 
 /* The comparison function definitions
  */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libfsntfs-20211023/libcthreads/libcthreads_error.c 
new/libfsntfs-20211229/libcthreads/libcthreads_error.c
--- old/libfsntfs-20211023/libcthreads/libcthreads_error.c      2021-10-23 
11:58:01.000000000 +0200
+++ new/libfsntfs-20211229/libcthreads/libcthreads_error.c      2021-12-29 
09:11:53.000000000 +0100
@@ -1,7 +1,7 @@
 /*
  * Error functions
  *
- * Copyright (C) 2012-2020, Joachim Metz <joachim.m...@gmail.com>
+ * Copyright (C) 2012-2021, Joachim Metz <joachim.m...@gmail.com>
  *
  * Refer to AUTHORS for acknowledgements.
  *
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libfsntfs-20211023/libcthreads/libcthreads_error.h 
new/libfsntfs-20211229/libcthreads/libcthreads_error.h
--- old/libfsntfs-20211023/libcthreads/libcthreads_error.h      2021-10-23 
11:58:01.000000000 +0200
+++ new/libfsntfs-20211229/libcthreads/libcthreads_error.h      2021-12-29 
09:11:53.000000000 +0100
@@ -1,7 +1,7 @@
 /*
  * Error functions
  *
- * Copyright (C) 2012-2020, Joachim Metz <joachim.m...@gmail.com>
+ * Copyright (C) 2012-2021, Joachim Metz <joachim.m...@gmail.com>
  *
  * Refer to AUTHORS for acknowledgements.
  *
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libfsntfs-20211023/libcthreads/libcthreads_extern.h 
new/libfsntfs-20211229/libcthreads/libcthreads_extern.h
--- old/libfsntfs-20211023/libcthreads/libcthreads_extern.h     2021-10-23 
11:58:01.000000000 +0200
+++ new/libfsntfs-20211229/libcthreads/libcthreads_extern.h     2021-12-29 
09:11:53.000000000 +0100
@@ -1,7 +1,7 @@
 /*
  * The internal extern definition
  *
- * Copyright (C) 2012-2020, Joachim Metz <joachim.m...@gmail.com>
+ * Copyright (C) 2012-2021, Joachim Metz <joachim.m...@gmail.com>
  *
  * Refer to AUTHORS for acknowledgements.
  *
@@ -30,7 +30,11 @@
 
 #include <libcthreads/extern.h>
 
+#if defined( __CYGWIN__ ) || defined( __MINGW32__ )
+#define LIBCTHREADS_EXTERN_VARIABLE    extern
+#else
 #define LIBCTHREADS_EXTERN_VARIABLE    LIBCTHREADS_EXTERN
+#endif
 
 #else
 #define LIBCTHREADS_EXTERN             /* extern */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libfsntfs-20211023/libcthreads/libcthreads_libcerror.h 
new/libfsntfs-20211229/libcthreads/libcthreads_libcerror.h
--- old/libfsntfs-20211023/libcthreads/libcthreads_libcerror.h  2021-10-23 
11:58:01.000000000 +0200
+++ new/libfsntfs-20211229/libcthreads/libcthreads_libcerror.h  2021-12-29 
09:11:53.000000000 +0100
@@ -1,7 +1,7 @@
 /*
  * The libcerror header wrapper
  *
- * Copyright (C) 2012-2020, Joachim Metz <joachim.m...@gmail.com>
+ * Copyright (C) 2012-2021, Joachim Metz <joachim.m...@gmail.com>
  *
  * Refer to AUTHORS for acknowledgements.
  *
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libfsntfs-20211023/libcthreads/libcthreads_lock.c 
new/libfsntfs-20211229/libcthreads/libcthreads_lock.c
--- old/libfsntfs-20211023/libcthreads/libcthreads_lock.c       2021-10-23 
11:58:01.000000000 +0200
+++ new/libfsntfs-20211229/libcthreads/libcthreads_lock.c       2021-12-29 
09:11:53.000000000 +0100
@@ -1,7 +1,7 @@
 /*
  * Lock functions
  *
- * Copyright (C) 2012-2020, Joachim Metz <joachim.m...@gmail.com>
+ * Copyright (C) 2012-2021, Joachim Metz <joachim.m...@gmail.com>
  *
  * Refer to AUTHORS for acknowledgements.
  *
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libfsntfs-20211023/libcthreads/libcthreads_lock.h 
new/libfsntfs-20211229/libcthreads/libcthreads_lock.h
--- old/libfsntfs-20211023/libcthreads/libcthreads_lock.h       2021-10-23 
11:58:01.000000000 +0200
+++ new/libfsntfs-20211229/libcthreads/libcthreads_lock.h       2021-12-29 
09:11:53.000000000 +0100
@@ -1,7 +1,7 @@
 /*
  * Lock functions
  *
- * Copyright (C) 2012-2020, Joachim Metz <joachim.m...@gmail.com>
+ * Copyright (C) 2012-2021, Joachim Metz <joachim.m...@gmail.com>
  *
  * Refer to AUTHORS for acknowledgements.
  *
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libfsntfs-20211023/libcthreads/libcthreads_mutex.c 
new/libfsntfs-20211229/libcthreads/libcthreads_mutex.c
--- old/libfsntfs-20211023/libcthreads/libcthreads_mutex.c      2021-10-23 
11:58:01.000000000 +0200
+++ new/libfsntfs-20211229/libcthreads/libcthreads_mutex.c      2021-12-29 
09:11:53.000000000 +0100
@@ -1,7 +1,7 @@
 /*
  * Mutex functions
  *
- * Copyright (C) 2012-2020, Joachim Metz <joachim.m...@gmail.com>
+ * Copyright (C) 2012-2021, Joachim Metz <joachim.m...@gmail.com>
  *
  * Refer to AUTHORS for acknowledgements.
  *
@@ -25,7 +25,7 @@
 
 #include <errno.h>
 
-#if defined( WINAPI ) && ( WINVER >= 0x0602 )
+#if defined( _MSC_VER ) && defined( WINAPI ) && ( WINVER >= 0x0602 )
 #include <Synchapi.h>
 #endif
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libfsntfs-20211023/libcthreads/libcthreads_mutex.h 
new/libfsntfs-20211229/libcthreads/libcthreads_mutex.h
--- old/libfsntfs-20211023/libcthreads/libcthreads_mutex.h      2021-10-23 
11:58:01.000000000 +0200
+++ new/libfsntfs-20211229/libcthreads/libcthreads_mutex.h      2021-12-29 
09:11:53.000000000 +0100
@@ -1,7 +1,7 @@
 /*
  * Mutex functions
  *
- * Copyright (C) 2012-2020, Joachim Metz <joachim.m...@gmail.com>
+ * Copyright (C) 2012-2021, Joachim Metz <joachim.m...@gmail.com>
  *
  * Refer to AUTHORS for acknowledgements.
  *
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libfsntfs-20211023/libcthreads/libcthreads_queue.c 
new/libfsntfs-20211229/libcthreads/libcthreads_queue.c
--- old/libfsntfs-20211023/libcthreads/libcthreads_queue.c      2021-10-23 
11:58:01.000000000 +0200
+++ new/libfsntfs-20211229/libcthreads/libcthreads_queue.c      2021-12-29 
09:11:53.000000000 +0100
@@ -1,7 +1,7 @@
 /*
  * Queue functions
  *
- * Copyright (C) 2012-2020, Joachim Metz <joachim.m...@gmail.com>
+ * Copyright (C) 2012-2021, Joachim Metz <joachim.m...@gmail.com>
  *
  * Refer to AUTHORS for acknowledgements.
  *
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libfsntfs-20211023/libcthreads/libcthreads_queue.h 
new/libfsntfs-20211229/libcthreads/libcthreads_queue.h
--- old/libfsntfs-20211023/libcthreads/libcthreads_queue.h      2021-10-23 
11:58:01.000000000 +0200
+++ new/libfsntfs-20211229/libcthreads/libcthreads_queue.h      2021-12-29 
09:11:53.000000000 +0100
@@ -1,7 +1,7 @@
 /*
  * Queue functions
  *
- * Copyright (C) 2012-2020, Joachim Metz <joachim.m...@gmail.com>
+ * Copyright (C) 2012-2021, Joachim Metz <joachim.m...@gmail.com>
  *
  * Refer to AUTHORS for acknowledgements.
  *
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libfsntfs-20211023/libcthreads/libcthreads_read_write_lock.c 
new/libfsntfs-20211229/libcthreads/libcthreads_read_write_lock.c
--- old/libfsntfs-20211023/libcthreads/libcthreads_read_write_lock.c    
2021-10-23 11:58:01.000000000 +0200
+++ new/libfsntfs-20211229/libcthreads/libcthreads_read_write_lock.c    
2021-12-29 09:11:53.000000000 +0100
@@ -1,7 +1,7 @@
 /*
  * Read/Write lock functions
  *
- * Copyright (C) 2012-2020, Joachim Metz <joachim.m...@gmail.com>
+ * Copyright (C) 2012-2021, Joachim Metz <joachim.m...@gmail.com>
  *
  * Refer to AUTHORS for acknowledgements.
  *
@@ -25,7 +25,7 @@
 
 #include <errno.h>
 
-#if defined( WINAPI ) && ( WINVER >= 0x0602 )
+#if defined( _MSC_VER ) && defined( WINAPI ) && ( WINVER >= 0x0602 )
 #include <Synchapi.h>
 #endif
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libfsntfs-20211023/libcthreads/libcthreads_read_write_lock.h 
new/libfsntfs-20211229/libcthreads/libcthreads_read_write_lock.h
--- old/libfsntfs-20211023/libcthreads/libcthreads_read_write_lock.h    
2021-10-23 11:58:01.000000000 +0200
+++ new/libfsntfs-20211229/libcthreads/libcthreads_read_write_lock.h    
2021-12-29 09:11:53.000000000 +0100
@@ -1,7 +1,7 @@
 /*
  * Read/Write lock functions
  *
- * Copyright (C) 2012-2020, Joachim Metz <joachim.m...@gmail.com>
+ * Copyright (C) 2012-2021, Joachim Metz <joachim.m...@gmail.com>
  *
  * Refer to AUTHORS for acknowledgements.
  *
@@ -25,7 +25,7 @@
 #include <common.h>
 #include <types.h>
 
-#if defined( WINAPI ) && ( WINVER >= 0x0602 )
+#if defined( _MSC_VER ) && defined( WINAPI ) && ( WINVER >= 0x0602 )
 #include <Synchapi.h>
 #endif
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libfsntfs-20211023/libcthreads/libcthreads_repeating_thread.c 
new/libfsntfs-20211229/libcthreads/libcthreads_repeating_thread.c
--- old/libfsntfs-20211023/libcthreads/libcthreads_repeating_thread.c   
2021-10-23 11:58:01.000000000 +0200
+++ new/libfsntfs-20211229/libcthreads/libcthreads_repeating_thread.c   
2021-12-29 09:11:53.000000000 +0100
@@ -1,7 +1,7 @@
 /*
  * Repeating thread functions
  *
- * Copyright (C) 2012-2020, Joachim Metz <joachim.m...@gmail.com>
+ * Copyright (C) 2012-2021, Joachim Metz <joachim.m...@gmail.com>
  *
  * Refer to AUTHORS for acknowledgements.
  *
@@ -25,7 +25,7 @@
 
 #include <errno.h>
 
-#if defined( WINAPI ) && ( WINVER >= 0x0602 )
+#if defined( _MSC_VER ) && defined( WINAPI ) && ( WINVER >= 0x0602 )
 #include <Processthreadsapi.h>
 #include <Synchapi.h>
 #endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libfsntfs-20211023/libcthreads/libcthreads_repeating_thread.h 
new/libfsntfs-20211229/libcthreads/libcthreads_repeating_thread.h
--- old/libfsntfs-20211023/libcthreads/libcthreads_repeating_thread.h   
2021-10-23 11:58:01.000000000 +0200
+++ new/libfsntfs-20211229/libcthreads/libcthreads_repeating_thread.h   
2021-12-29 09:11:53.000000000 +0100
@@ -1,7 +1,7 @@
 /*
  * Repeating thread functions
  *
- * Copyright (C) 2012-2020, Joachim Metz <joachim.m...@gmail.com>
+ * Copyright (C) 2012-2021, Joachim Metz <joachim.m...@gmail.com>
  *
  * Refer to AUTHORS for acknowledgements.
  *
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libfsntfs-20211023/libcthreads/libcthreads_support.c 
new/libfsntfs-20211229/libcthreads/libcthreads_support.c
--- old/libfsntfs-20211023/libcthreads/libcthreads_support.c    2021-10-23 
11:58:01.000000000 +0200
+++ new/libfsntfs-20211229/libcthreads/libcthreads_support.c    2021-12-29 
09:11:53.000000000 +0100
@@ -1,7 +1,7 @@
 /*
  * Support functions
  *
- * Copyright (C) 2012-2020, Joachim Metz <joachim.m...@gmail.com>
+ * Copyright (C) 2012-2021, Joachim Metz <joachim.m...@gmail.com>
  *
  * Refer to AUTHORS for acknowledgements.
  *
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libfsntfs-20211023/libcthreads/libcthreads_support.h 
new/libfsntfs-20211229/libcthreads/libcthreads_support.h
--- old/libfsntfs-20211023/libcthreads/libcthreads_support.h    2021-10-23 
11:58:01.000000000 +0200
+++ new/libfsntfs-20211229/libcthreads/libcthreads_support.h    2021-12-29 
09:11:53.000000000 +0100
@@ -1,7 +1,7 @@
 /*
  * Support functions
  *
- * Copyright (C) 2012-2020, Joachim Metz <joachim.m...@gmail.com>
+ * Copyright (C) 2012-2021, Joachim Metz <joachim.m...@gmail.com>
  *
  * Refer to AUTHORS for acknowledgements.
  *
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libfsntfs-20211023/libcthreads/libcthreads_thread.c 
new/libfsntfs-20211229/libcthreads/libcthreads_thread.c
--- old/libfsntfs-20211023/libcthreads/libcthreads_thread.c     2021-10-23 
11:58:01.000000000 +0200
+++ new/libfsntfs-20211229/libcthreads/libcthreads_thread.c     2021-12-29 
09:11:53.000000000 +0100
@@ -1,7 +1,7 @@
 /*
  * Thread functions
  *
- * Copyright (C) 2012-2020, Joachim Metz <joachim.m...@gmail.com>
+ * Copyright (C) 2012-2021, Joachim Metz <joachim.m...@gmail.com>
  *
  * Refer to AUTHORS for acknowledgements.
  *
@@ -25,7 +25,7 @@
 
 #include <errno.h>
 
-#if defined( WINAPI ) && ( WINVER >= 0x0602 )
+#if defined( _MSC_VER ) && defined( WINAPI ) && ( WINVER >= 0x0602 )
 #include <Processthreadsapi.h>
 #include <Synchapi.h>
 #endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libfsntfs-20211023/libcthreads/libcthreads_thread.h 
new/libfsntfs-20211229/libcthreads/libcthreads_thread.h
--- old/libfsntfs-20211023/libcthreads/libcthreads_thread.h     2021-10-23 
11:58:01.000000000 +0200
+++ new/libfsntfs-20211229/libcthreads/libcthreads_thread.h     2021-12-29 
09:11:53.000000000 +0100
@@ -1,7 +1,7 @@
 /*
  * Thread functions
  *
- * Copyright (C) 2012-2020, Joachim Metz <joachim.m...@gmail.com>
+ * Copyright (C) 2012-2021, Joachim Metz <joachim.m...@gmail.com>
  *
  * Refer to AUTHORS for acknowledgements.
  *
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libfsntfs-20211023/libcthreads/libcthreads_thread_attributes.c 
new/libfsntfs-20211229/libcthreads/libcthreads_thread_attributes.c
--- old/libfsntfs-20211023/libcthreads/libcthreads_thread_attributes.c  
2021-10-23 11:58:01.000000000 +0200
+++ new/libfsntfs-20211229/libcthreads/libcthreads_thread_attributes.c  
2021-12-29 09:11:53.000000000 +0100
@@ -1,7 +1,7 @@
 /*
  * Thread attributes functions
  *
- * Copyright (C) 2012-2020, Joachim Metz <joachim.m...@gmail.com>
+ * Copyright (C) 2012-2021, Joachim Metz <joachim.m...@gmail.com>
  *
  * Refer to AUTHORS for acknowledgements.
  *
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libfsntfs-20211023/libcthreads/libcthreads_thread_attributes.h 
new/libfsntfs-20211229/libcthreads/libcthreads_thread_attributes.h
--- old/libfsntfs-20211023/libcthreads/libcthreads_thread_attributes.h  
2021-10-23 11:58:01.000000000 +0200
+++ new/libfsntfs-20211229/libcthreads/libcthreads_thread_attributes.h  
2021-12-29 09:11:53.000000000 +0100
@@ -1,7 +1,7 @@
 /*
  * Thread attributes functions
  *
- * Copyright (C) 2012-2020, Joachim Metz <joachim.m...@gmail.com>
+ * Copyright (C) 2012-2021, Joachim Metz <joachim.m...@gmail.com>
  *
  * Refer to AUTHORS for acknowledgements.
  *
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libfsntfs-20211023/libcthreads/libcthreads_thread_pool.c 
new/libfsntfs-20211229/libcthreads/libcthreads_thread_pool.c
--- old/libfsntfs-20211023/libcthreads/libcthreads_thread_pool.c        
2021-10-23 11:58:01.000000000 +0200
+++ new/libfsntfs-20211229/libcthreads/libcthreads_thread_pool.c        
2021-12-29 09:11:53.000000000 +0100
@@ -1,7 +1,7 @@
 /*
  * Thread pool functions
  *
- * Copyright (C) 2012-2020, Joachim Metz <joachim.m...@gmail.com>
+ * Copyright (C) 2012-2021, Joachim Metz <joachim.m...@gmail.com>
  *
  * Refer to AUTHORS for acknowledgements.
  *
@@ -25,7 +25,7 @@
 
 #include <errno.h>
 
-#if defined( WINAPI ) && ( WINVER >= 0x0602 )
+#if defined( _MSC_VER ) && defined( WINAPI ) && ( WINVER >= 0x0602 )
 #include <Threadpoolapiset.h>
 #endif
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libfsntfs-20211023/libcthreads/libcthreads_thread_pool.h 
new/libfsntfs-20211229/libcthreads/libcthreads_thread_pool.h
--- old/libfsntfs-20211023/libcthreads/libcthreads_thread_pool.h        
2021-10-23 11:58:01.000000000 +0200
+++ new/libfsntfs-20211229/libcthreads/libcthreads_thread_pool.h        
2021-12-29 09:11:53.000000000 +0100
@@ -1,7 +1,7 @@
 /*
  * Thread pool functions
  *
- * Copyright (C) 2012-2020, Joachim Metz <joachim.m...@gmail.com>
+ * Copyright (C) 2012-2021, Joachim Metz <joachim.m...@gmail.com>
  *
  * Refer to AUTHORS for acknowledgements.
  *
@@ -25,7 +25,7 @@
 #include <common.h>
 #include <types.h>
 
-#if defined( WINAPI ) && ( WINVER >= 0x0602 )
+#if defined( _MSC_VER ) && defined( WINAPI ) && ( WINVER >= 0x0602 )
 #include <Threadpoolapiset.h>
 #endif
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libfsntfs-20211023/libcthreads/libcthreads_types.h 
new/libfsntfs-20211229/libcthreads/libcthreads_types.h
--- old/libfsntfs-20211023/libcthreads/libcthreads_types.h      2021-10-23 
11:58:01.000000000 +0200
+++ new/libfsntfs-20211229/libcthreads/libcthreads_types.h      2021-12-29 
09:11:53.000000000 +0100
@@ -1,7 +1,7 @@
 /*
  * The internal type definitions
  *
- * Copyright (C) 2012-2020, Joachim Metz <joachim.m...@gmail.com>
+ * Copyright (C) 2012-2021, Joachim Metz <joachim.m...@gmail.com>
  *
  * Refer to AUTHORS for acknowledgements.
  *
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libfsntfs-20211023/libcthreads/libcthreads_unused.h 
new/libfsntfs-20211229/libcthreads/libcthreads_unused.h
--- old/libfsntfs-20211023/libcthreads/libcthreads_unused.h     2021-10-23 
11:58:01.000000000 +0200
+++ new/libfsntfs-20211229/libcthreads/libcthreads_unused.h     2021-12-29 
09:11:53.000000000 +0100
@@ -1,7 +1,7 @@
 /*
  * Definitions to silence compiler warnings about unused function 
attributes/parameters.
  *
- * Copyright (C) 2012-2020, Joachim Metz <joachim.m...@gmail.com>
+ * Copyright (C) 2012-2021, Joachim Metz <joachim.m...@gmail.com>
  *
  * Refer to AUTHORS for acknowledgements.
  *
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libfsntfs-20211023/libfsntfs/libfsntfs.rc 
new/libfsntfs-20211229/libfsntfs/libfsntfs.rc
--- old/libfsntfs-20211023/libfsntfs/libfsntfs.rc       2021-10-23 
11:59:07.000000000 +0200
+++ new/libfsntfs-20211229/libfsntfs/libfsntfs.rc       2021-12-29 
09:12:38.000000000 +0100
@@ -22,12 +22,12 @@
     BLOCK "040904E4"
     BEGIN
       VALUE "FileDescription",         "Library to access the Windows New 
Technology File System (NTFS) format\0"
-      VALUE "FileVersion",             "20211023" "\0"
+      VALUE "FileVersion",             "20211229" "\0"
       VALUE "InternalName",            "libfsntfs.dll\0"
       VALUE "LegalCopyright",          "(C) 2010-2021, Joachim Metz 
<joachim.m...@gmail.com>\0"
       VALUE "OriginalFilename",                "libfsntfs.dll\0"
       VALUE "ProductName",             "libfsntfs\0"
-      VALUE "ProductVersion",          "20211023" "\0"
+      VALUE "ProductVersion",          "20211229" "\0"
       VALUE "Comments",                        "For more information visit 
https://github.com/libyal/libfsntfs/\0";
     END
   END
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libfsntfs-20211023/libfsntfs/libfsntfs_definitions.h 
new/libfsntfs-20211229/libfsntfs/libfsntfs_definitions.h
--- old/libfsntfs-20211023/libfsntfs/libfsntfs_definitions.h    2021-10-23 
11:59:07.000000000 +0200
+++ new/libfsntfs-20211229/libfsntfs/libfsntfs_definitions.h    2021-12-29 
09:12:38.000000000 +0100
@@ -39,11 +39,11 @@
  * for local use of libfsntfs
  */
 #else
-#define LIBFSNTFS_VERSION                                              20211023
+#define LIBFSNTFS_VERSION                                              20211229
 
 /* The version string
  */
-#define LIBFSNTFS_VERSION_STRING                                       
"20211023"
+#define LIBFSNTFS_VERSION_STRING                                       
"20211229"
 
 /* The file access
  * bit 1        set to 1 for read access
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libfsntfs-20211023/libfsntfs.spec 
new/libfsntfs-20211229/libfsntfs.spec
--- old/libfsntfs-20211023/libfsntfs.spec       2021-10-23 11:59:07.000000000 
+0200
+++ new/libfsntfs-20211229/libfsntfs.spec       2021-12-29 09:12:38.000000000 
+0100
@@ -1,5 +1,5 @@
 Name: libfsntfs
-Version: 20211023
+Version: 20211229
 Release: 1
 Summary: Library to access the Windows New Technology File System (NTFS) format
 Group: System Environment/Libraries
@@ -122,6 +122,6 @@
 %{_mandir}/man1/*
 
 %changelog
-* Sat Oct 23 2021 Joachim Metz <joachim.m...@gmail.com> 20211023-1
+* Wed Dec 29 2021 Joachim Metz <joachim.m...@gmail.com> 20211229-1
 - Auto-generated
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libfsntfs-20211023/m4/python.m4 
new/libfsntfs-20211229/m4/python.m4
--- old/libfsntfs-20211023/m4/python.m4 2021-01-07 08:24:15.000000000 +0100
+++ new/libfsntfs-20211229/m4/python.m4 2021-12-17 04:27:32.000000000 +0100
@@ -1,6 +1,6 @@
 dnl Functions for Python bindings
 dnl
-dnl Version: 20201230
+dnl Version: 20211114
 
 dnl Function to check if the python binary is available
 dnl "python${PYTHON_VERSION} python python# python#.#"
@@ -8,13 +8,13 @@
   [AS_IF(
     [test "x${PYTHON_VERSION}" != x],
     [ax_python_progs="python${PYTHON_VERSION}"],
-    [ax_python_progs="python python3 python3.10 python3.9 python3.8 python3.7 
python3.6 python3.5 python3.4 python3.3 python3.2 python3.1 python3.0 python2 
python2.7 python2.6 python2.5"])
+    [ax_python_progs="python python3 python3.11 python3.10 python3.9 python3.8 
python3.7 python3.6 python3.5 python3.4 python3.3 python3.2 python3.1 python3.0 
python2 python2.7 python2.6 python2.5"])
   AC_CHECK_PROGS(
     [PYTHON],
     [$ax_python_progs])
   AS_IF(
     [test "x${PYTHON}" != x],
-    [ax_prog_python_version=`${PYTHON} -c "import sys; 
sys.stdout.write(sys.version[[:3]])" 2>/dev/null`;
+    [ax_prog_python_version=`${PYTHON} -c "import sys; 
sys.stdout.write('%d.%d' % (sys.version_info[[0]], sys.version_info[[1]]))" 
2>/dev/null`;
     ax_prog_python_platform=`${PYTHON} -c "import sys; 
sys.stdout.write(sys.platform)" 2>/dev/null`;
     AC_SUBST(
       [PYTHON_PLATFORM],
@@ -37,7 +37,7 @@
     [$ax_python2_progs])
   AS_IF(
     [test "x${PYTHON2}" != x],
-    [ax_prog_python2_version=`${PYTHON2} -c "import sys; 
sys.stdout.write(sys.version[[:3]])" 2>/dev/null`;
+    [ax_prog_python2_version=`${PYTHON2} -c "import sys; 
sys.stdout.write('%d.%d' % (sys.version_info[[0]], sys.version_info[[1]]))" 
2>/dev/null`;
     AC_SUBST(
       [PYTHON2_VERSION],
       [$ax_prog_python2_version])
@@ -58,13 +58,13 @@
 dnl Function to check if the python3 binary is available
 dnl "python3 python3.#"
 AC_DEFUN([AX_PROG_PYTHON3],
-  [ax_python3_progs="python3 python3.10 python3.9 python3.8 python3.7 
python3.6 python3.5 python3.4 python3.3 python3.2 python3.1 python3.0"
+  [ax_python3_progs="python3 python3.11 python3.10 python3.9 python3.8 
python3.7 python3.6 python3.5 python3.4 python3.3 python3.2 python3.1 python3.0"
   AC_CHECK_PROGS(
     [PYTHON3],
     [$ax_python3_progs])
   AS_IF(
     [test "x${PYTHON3}" != x],
-    [ax_prog_python3_version=`${PYTHON3} -c "import sys; 
sys.stdout.write(sys.version[[:3]])" 2>/dev/null`;
+    [ax_prog_python3_version=`${PYTHON3} -c "import sys; 
sys.stdout.write('%d.%d' % (sys.version_info[[0]], sys.version_info[[1]]))" 
2>/dev/null`;
     AC_SUBST(
       [PYTHON3_VERSION],
       [$ax_prog_python3_version])
@@ -95,7 +95,7 @@
     [test "x${PYTHON_CONFIG}" = x],
     [AC_CHECK_PROGS(
       [PYTHON_CONFIG],
-      [python-config python3-config python3.10-config python3.9-config 
python3.8-config python3.7-config python3.6-config python3.5-config 
python3.4-config python3.3-config python3.2-config python3.1-config 
python3.0-config python2-config python2.7-config python2.6-config 
python2.5-config])
+      [python-config python3-config python3.11-config python3.10-config 
python3.9-config python3.8-config python3.7-config python3.6-config 
python3.5-config python3.4-config python3.3-config python3.2-config 
python3.1-config python3.0-config python2-config python2.7-config 
python2.6-config python2.5-config])
     ])
   AS_IF(
     [test "x${PYTHON_CONFIG}" = x],
@@ -131,7 +131,7 @@
     [test "x${PYTHON3_CONFIG}" = x],
     [AC_CHECK_PROGS(
       [PYTHON3_CONFIG],
-      [python3-config python3.10-config python3.9-config python3.8-config 
python3.7-config python3.6-config python3.5-config python3.4-config 
python3.3-config python3.2-config python3.1-config python3.0-config])
+      [python3-config python3.11-config python3.10-config python3.9-config 
python3.8-config python3.7-config python3.6-config python3.5-config 
python3.4-config python3.3-config python3.2-config python3.1-config 
python3.0-config])
     ])
   AS_IF(
     [test "x${PYTHON3_CONFIG}" = x],
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libfsntfs-20211023/pyfsntfs/pyfsntfs_standard_information_attribute.c 
new/libfsntfs-20211229/pyfsntfs/pyfsntfs_standard_information_attribute.c
--- old/libfsntfs-20211023/pyfsntfs/pyfsntfs_standard_information_attribute.c   
2021-10-22 11:27:13.000000000 +0200
+++ new/libfsntfs-20211229/pyfsntfs/pyfsntfs_standard_information_attribute.c   
2021-12-29 08:43:21.000000000 +0100
@@ -106,21 +106,21 @@
        { "get_owner_identifier",
          (PyCFunction) 
pyfsntfs_standard_information_attribute_get_owner_identifier,
          METH_NOARGS,
-         "get_owner_identifier() -> Integer\n"
+         "get_owner_identifier() -> Integer or None\n"
          "\n"
          "Returns the owner identifier." },
 
        { "get_security_descriptor_identifier",
          (PyCFunction) 
pyfsntfs_standard_information_attribute_get_security_descriptor_identifier,
          METH_NOARGS,
-         "get_security_descriptor_identifier() -> Integer\n"
+         "get_security_descriptor_identifier() -> Integer or None\n"
          "\n"
          "Returns the security descriptor identifier." },
 
        { "get_update_sequence_number",
          (PyCFunction) 
pyfsntfs_standard_information_attribute_get_update_sequence_number,
          METH_NOARGS,
-         "get_update_sequence_number() -> Integer\n"
+         "get_update_sequence_number() -> Integer or None\n"
          "\n"
          "Returns the update sequence number." },
 
@@ -834,7 +834,7 @@
 
        Py_END_ALLOW_THREADS
 
-       if( result != 1 )
+       if( result == -1 )
        {
                pyfsntfs_error_raise(
                 error,
@@ -847,6 +847,13 @@
 
                return( NULL );
        }
+       else if( result == 0 )
+       {
+               Py_IncRef(
+                Py_None );
+
+               return( Py_None );
+       }
        integer_object = pyfsntfs_integer_unsigned_new_from_64bit(
                          (uint64_t) owner_identifier );
 
@@ -886,7 +893,7 @@
 
        Py_END_ALLOW_THREADS
 
-       if( result != 1 )
+       if( result == -1 )
        {
                pyfsntfs_error_raise(
                 error,
@@ -899,6 +906,13 @@
 
                return( NULL );
        }
+       else if( result == 0 )
+       {
+               Py_IncRef(
+                Py_None );
+
+               return( Py_None );
+       }
        integer_object = pyfsntfs_integer_unsigned_new_from_64bit(
                          (uint64_t) security_descriptor_identifier );
 
@@ -938,7 +952,7 @@
 
        Py_END_ALLOW_THREADS
 
-       if( result != 1 )
+       if( result == -1 )
        {
                pyfsntfs_error_raise(
                 error,
@@ -951,6 +965,13 @@
 
                return( NULL );
        }
+       else if( result == 0 )
+       {
+               Py_IncRef(
+                Py_None );
+
+               return( Py_None );
+       }
        integer_object = pyfsntfs_integer_unsigned_new_from_64bit(
                          update_sequence_number );
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libfsntfs-20211023/setup.py 
new/libfsntfs-20211229/setup.py
--- old/libfsntfs-20211023/setup.py     2021-10-22 11:27:43.000000000 +0200
+++ new/libfsntfs-20211229/setup.py     2021-12-29 08:40:18.000000000 +0100
@@ -1,7 +1,7 @@
 #!/usr/bin/env python
 #
 # Script to build and install Python-bindings.
-# Version: 20191025
+# Version: 20211115
 
 from __future__ import print_function
 
@@ -16,10 +16,8 @@
 import sys
 import tarfile
 
-from distutils import sysconfig
 from distutils.ccompiler import new_compiler
-from distutils.command.bdist import bdist
-from setuptools import dist
+
 from setuptools import Extension
 from setuptools import setup
 from setuptools.command.build_ext import build_ext
@@ -30,6 +28,11 @@
 except ImportError:
   bdist_msi = None
 
+try:
+  from setuptools.command.bdist_rpm import bdist_rpm
+except ImportError:
+  from distutils.command.bdist import bdist as bdist_rpm
+
 
 if not bdist_msi:
   custom_bdist_msi = None
@@ -51,7 +54,7 @@
       bdist_msi.run(self)
 
 
-class custom_bdist_rpm(bdist):
+class custom_bdist_rpm(bdist_rpm):
   """Custom handler for the bdist_rpm command."""
 
   def run(self):
@@ -272,6 +275,14 @@
 
 project_information = ProjectInformation()
 
+CMDCLASS = {
+  "build_ext": custom_build_ext,
+  "bdist_rpm": custom_bdist_rpm,
+  "sdist": custom_sdist}
+
+if custom_bdist_msi:
+  CMDCLASS["bdist_msi"] = custom_bdist_msi
+
 SOURCES = []
 
 # TODO: replace by detection of MSC
@@ -315,12 +326,7 @@
     author="Joachim Metz",
     author_email="joachim.m...@gmail.com",
     license="GNU Lesser General Public License v3 or later (LGPLv3+)",
-    cmdclass={
-        "build_ext": custom_build_ext,
-        "bdist_msi": custom_bdist_msi,
-        "bdist_rpm": custom_bdist_rpm,
-        "sdist": custom_sdist,
-    },
+    cmdclass=CMDCLASS,
     ext_modules=[
         Extension(
             project_information.module_name,

Reply via email to