diff --git a/configure.ac b/configure.ac index 9bf58d94..1d99097e 100644 --- a/configure.ac +++ b/configure.ac @@ -23,8 +23,8 @@ # Autoconf AC_PREREQ(2.59) -AC_INIT([ntfs-3g],[2009.3.8],[ntfs-3g-devel@lists.sf.net]) -LIBNTFS_3G_VERSION="52" +AC_INIT([ntfs-3g],[2009.4.4],[ntfs-3g-devel@lists.sf.net]) +LIBNTFS_3G_VERSION="54" AC_CONFIG_SRCDIR([src/ntfs-3g.c]) # Environment diff --git a/libntfs-3g/attrib.c b/libntfs-3g/attrib.c index 54b644bc..359b1a23 100644 --- a/libntfs-3g/attrib.c +++ b/libntfs-3g/attrib.c @@ -1407,8 +1407,9 @@ retry: total += written; count -= written; b = (const u8*)b + written; - continue; } + if (written == to_write) + continue; /* If the syscall was interrupted, try again. */ if (written == (s64)-1 && errno == EINTR) goto retry; diff --git a/libntfs-3g/mft.c b/libntfs-3g/mft.c index 8c539e03..47d02218 100644 --- a/libntfs-3g/mft.c +++ b/libntfs-3g/mft.c @@ -1459,7 +1459,7 @@ found_free_rec: free(ni); goto undo_mftbmp_alloc; } - if (base_ni->extent_nis) { + if (base_ni->nr_extents) { memcpy(extent_nis, base_ni->extent_nis, i - 4 * sizeof(ntfs_inode *)); free(base_ni->extent_nis); @@ -1761,7 +1761,7 @@ found_free_rec: free(ni); goto undo_mftbmp_alloc; } - if (base_ni->extent_nis) { + if (base_ni->nr_extents) { memcpy(extent_nis, base_ni->extent_nis, i - 4 * sizeof(ntfs_inode *)); free(base_ni->extent_nis); diff --git a/src/ntfs-3g.c b/src/ntfs-3g.c index 204341e3..700f8c18 100644 --- a/src/ntfs-3g.c +++ b/src/ntfs-3g.c @@ -742,7 +742,7 @@ static int ntfs_fuse_filler(ntfs_fuse_fill_context_t *fill_ctx, return 0; if (ntfs_ucstombs(name, name_len, &filename, 0) < 0) { - ntfs_log_perror("Skipping unrepresentable filename (inode %llu)", + ntfs_log_perror("Filename decoding failed (inode %llu)", (unsigned long long)MREF(mref)); return -1; }