1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
|
#! /bin/sh -e
## 231270_hpmount_destroys_hfs_volume_headers.dpatch by Frank Lichtenheld <djpig@debian.org>
##
## All lines beginning with `## DP:' are a description of the patch.
## DP: Avoid HFS volume headers destruction.
if [ $# -ne 1 ]; then
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
fi
case "$1" in
-patch) patch -f --no-backup-if-mismatch -p1 < $0;;
-unpatch) patch -f --no-backup-if-mismatch -R -p1 < $0;;
*)
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1;;
esac
exit 0
diff -x debian -ruN old/hfsplus-1.0.4/libhfsp/src/volume.c hfsplus-1.0.4/libhfsp/src/volume.c
--- old/hfsplus-1.0.4/libhfsp/src/volume.c 2002-03-26 18:00:29.000000000 +0000
+++ hfsplus-1.0.4/libhfsp/src/volume.c 2006-09-13 20:52:15.000000000 +0000
@@ -508,8 +509,10 @@
vol->flags |= rw & HFSP_MODE_RDWR;
- if (volume_read_wrapper(vol, &vol->vol))
+ if (volume_read_wrapper(vol, &vol->vol)) {
+ vol->flags ^= HFSP_MODE_RDWR;
return -1;
+ }
if (volume_read(vol, &backup, vol->maxblocks - 2))
return -1;
|