Files
filesystem/doc/do-list.htm
Beman Dawes 8a529b3d69 fix broken bookmarks, links
[SVN r16726]
2002-12-31 16:46:21 +00:00

69 lines
3.1 KiB
HTML

<title>Boost Filesystem Do-list</title>
<h1>
<img border="0" src="../../../c++boost.gif" align="center" width="277" height="86">Filesystem
Do-list</h1>
<ul>
<li>Final resolution of the move vs rename issue.<br>
&nbsp;</li>
<li>Pavel Vozenilek writes: rename() function from operations.hpp should state
whether any guarantee is fulfilled (atomic operation, no copy semantic, file
integrity, etc).<br>
<br>
For example people use UNIX system command 'mv' to ensure moved file
integrity.<br>
<br>
Currently MoveFile() used for Windows implementation ensures nothing.
MoveFileEx() provides 'no copy' semantic but this function isn't available on
Win95/98.<br>
&nbsp;</li>
<li>Windows: Some files seem to be poisoned to the point where you can't even
do is_directory() on them without an access error. For example,&nbsp; pagefile.sys. Should directory_iterator ignore these files?<br>
&nbsp;</li>
<li>Windows: //share style paths need more analysis and test cases for system_complete()
and complete(). Also, path_test cases at line 410 need review, correction.<br>
&nbsp;</li>
<li>Windows: What happens when a directory_itorator encounters a
wide-character filename? Write a test case.<br>
&nbsp;</li>
<li>Windows: Resolve the current confusion between running on a POSIX O/S, and using
the POSIX functions (via gcc) on Windows. This is the cause of the Win32 gcc
regression test failure.<br>
&nbsp;</li>
<li>Links and cyclic paths:</li>
</ul>
<blockquote>
<ul>
<li>General requirements. How do links work on Windows and POSIX?</li>
<li>Add cycle-breaking code if needed.</li>
<li>Add test case to make sure functions like <i>remove_all</i> don't loop.</li>
<li>Is a policy ctor needed for directory_iterator to deal with links?</li>
<li>POSIX: lstat() or stat()?</li>
</ul>
</blockquote>
<ul>
<li>Add &quot;.&quot; current directory to generic path? Add test cases one
way or the other. Change simple_ls accordingly.<br>
&nbsp;</li>
<li>Ask for help porting to other operating systems, such as the Mac, etc.</li>
</ul>
<ul>
<li>Finish the probe program, and ask Boost people to run it on various O/S's.<br>
&nbsp;</li>
<li>Finish portability guide and checking functions. Get opinions on default, Boost, and other error checks.&nbsp; POSIX?&nbsp;
Windows? Mac?&nbsp; ISO 6990? Document the checking functions.<br>
&nbsp;</li>
<li>Operations_test line 171 - why only check iterator tag? Why not
Assignable, etc?<br>
&nbsp;</li>
<li>The wrapped fstream functions which return the type of the stream (*this)
would have to be overridden to get the wrapped type (boost::filesystem::ifstream
rather than std::ifstream, for example). But does it matter? Does anyone care?
Will any programs fail?<br>
&nbsp;</li>
<li>Methodically check all functions taking path arguments to verify that
behavior when path(&quot;&quot;) is well-specified.</li>
</ul>
<hr>
<p>© Copyright Beman Dawes, 2002</p>
<p>Revised
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->31 December, 2002<!--webbot bot="Timestamp" endspan i-checksum="38507" --></p>