hfsutils-3.2.6 released

Rob Leslie hfs-interest@ccs.neu.edu
Sun, 08 Nov 1998 15:27:26 -0500


Hi folks,

I have good news and bad news. The bad news is that I recently learned of a
number of problems in hfsutils, but the good news is that I have made a new
release, 3.2.6, to correct them.

This version fixes the following significant problems since 3.2.2:

  * A problem was fixed in the B*-tree node splitting code which could have
    caused the libhfs routines to crash under some rare circumstances. [Thanks
    to John Witford for discovering this.]

  * A problem was fixed with the handling of catalog and extents clump sizes
    on large volumes which, while not a serious problem, was resulting in what
    was perceived as B*-tree corruption. (This was first fixed in 1.15b but
    was re-introduced in 3.0b1, alas.) [Thanks to Steve Revilak for helping to
    isolate this.]

  * A problem was fixed where volumes were not being marked "cleanly
    unmounted," causing them to undergo a scavenging operation whenever the
    volume was opened again either with hfsutils or on a real Macintosh.
    This accounts for some of the "slow operation" some people have reported.

There are a number of smaller changes as well, including:

  * Better Tcl/Tk configuration discovery.

  * Changes to the OS I/O API to use 512-byte blocks rather than
    individual bytes.

  * A number of const/signed/unsigned improvements for the compiler.

  * A few scavenging fixes and improvements.

  * API changes to hfs_mount() and hfs_format() to support several new
    options, including HFS_OPT_NOCACHE (to prevent libhfs from using its
    internal block cache), HFS_OPT_ZERO (to force newly allocated blocks to
    be zero-initialized before use), and HFS_OPT_2048 (to force 2048-byte
    physical-block file boundaries, compatible with hybrid ISO 9660 schemes.)

The new release can be obtained from:


As always, the hfsutils home page is:



- -- 
Robert Leslie

Version: 2.6.3ia
Charset: noconv
Comment: Processed by Mailcrypt 3.4, an Emacs/PGP interface