Boost logo

Boost :

Subject: Re: [boost] [Filesystem V3] Filesystem Version 3 beta 1 available for download and comment
From: Beman Dawes (bdawes_at_[hidden])
Date: 2010-02-20 06:18:51


On Thu, Feb 18, 2010 at 11:30 AM, Zach Laine
<whatwasthataddress_at_[hidden]> wrote:
> On Thu, Feb 18, 2010 at 8:43 AM, Beman Dawes <bdawes_at_[hidden]> wrote:
>> The first beta release of Boost.Filesystem Version 3 is now available.
>>
>> The documentation can be viewed at http://mysite.verizon.net/beman/v3/index.htm
>
> The descriptions for portable_name() and portable_directory_name()
> appear to be at odds.
>
> portable_name() : ... && (name is "." or "..", and the first character
> not a period or hyphen)
>
> portable_directory_name(): ... && (name is "." or ".."  or contains no periods)
>
> Should portable_name() be "... && (name is "." or "..", or contains no
> periods) && (first character not a hyphen)"?  Maybe I'm missing
> something?

I haven't looked at these in years. They need to be brought up to
date. Added to do list.

>
> Also, in the tut3.cpp tutorial code, there's no mention of the dangers
> of using "*it" inside the directory_iterator loop.  IIRC, in previous
> Filesystem revisions, this would throw if you did not have adequate
> permissions to see the file to which "it" refers.  Has this changed?

Nice catch! No, nothing is changed. The code is not robust.

> If not, I think that you should either wrap the body of the loop in a
> try-catch block, or use one of the non-throwing function overloads,
> and indicate to the user what the exception safety concerns are.

Yes, this would be a great place to introduce the non-throwing
function overloads. Added to do list.
  I
> think the tutorial code should exhibit enough robustness that the user
> can just cut-and-paste to get the basic code needed to use the
> library.

Definitely. If anyone spots other robustness issues, be sure to let me know.

Thanks,

--Beman


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk