apr-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "William A. Rowe Jr." <wr...@rowe-clan.net>
Subject Darwin HFS+ filename case patch 1/2
Date Wed, 05 Mar 2014 22:39:59 GMT
You can find the first of two patches, this first for the apr_fileinfo
api, which introduces [f]stat style support to resolve the canonical
form of a given filename.  APR_FINFO_NAME should return the corrected
case/filesystem representation of the given name.


This is my first complete attempt at using getattrlist, an osx-specific
call, and I am open to suggestions on feature detection.  Right now it
simply counts on finding <sys/attr.h> and using getattrlist before
failing over on a stat call.

The patch calls out the fact that we should revisit apr's inode and
similar fields which should have (from APR's perspective) been fixed at
64 bits for future growth. It also calls out apr_file_info_get_locked 
is neither publicly published nor used, and needs to be removed
from apr-2.0.0.

The second patch will be needed in the apr_filepath API, because the
filename case canonicalization logic exists now only in the Win32, OS2
and Netware forks.

OS/X fans, please check it out!  It would be particularly helpful if
anyone wanted to benchmark against stat() by commenting out the wanted
translation of APR_FINFO_NAME ro ATTR_CMN_NAME, so that we compare
apples to apples.

View raw message