Commit Graph

483 Commits

Author SHA1 Message Date
Beman
2f6391b931 Add class path constexpr constants separator and dot of the type appropriate for the platform, and add class path member query functions filename_is_dot() and filename_is_dot_dot(). These add convenience and the implementations may be more efficient that user coded equivalent functions. Also add detail functions is_directory_separator() and is_element_separator(), and replace all uses of local is_separator() in path.cpp with detail::is_directory_separator(). 2015-12-01 10:17:45 -05:00
Beman
3c344a5f0b Revert to lexical functions back to being members of class path. This is not the time to redesign the library's lexical vs operational conventions. It would break existing users mental model of lexical vs operational.
See doc/relative_proposal.html#Add-lexical-functions for additional rationale.
2015-10-25 13:28:49 -04:00
Beman
7e3e5ef60c Fix #11733, Missing unistd.h include in boost/libs/filesystem/src/unique_path.cpp by apply a patch from Idar Tollefsen. 2015-10-16 16:03:45 -04:00
Beman
74c5f5fe3e Fix a forward declaration that was missed in a prior pull request. This clears a GCC warning. 2015-10-08 07:04:13 -04:00
Beman
5610f974be Merge branch 'feature/relative2' into develop 2015-09-04 15:24:22 -04:00
Beman
011522bd42 Fix #7258, create_directories returns false if the path ends with a slash. Also fix related issues if path contains dot or dot-dot elements, and add test cases to the test suite. 2015-09-02 08:24:41 -04:00
Beman
a2d4f99cc8 Resolve #11166 by mitigating (i.e. reducing the likelihood of) a possible external file system race in remove(), using a slight refinement of the patch supplied by Jeff Epler. Made no attempt to fix or mitigate the thread data race in the test program provided. 2015-09-01 11:34:24 -04:00
Beman
f6aa067256 Minor code and comment tweaks. 2015-08-31 10:23:41 -04:00
Beman
2b019a8483 Fix #11288 A patch to avoid redundant string allocations 2015-08-30 16:44:27 -04:00
Beman
810f40becf Add a quote from the standard 2015-08-30 16:33:39 -04:00
Beman
efe50fad52 Work issue, but no fix yet 2015-08-30 16:32:44 -04:00
Beman
90517e4596 Fix #11447, __OpenBSD__ macro name misspelled, by applying a patch submitted by Jasper Lievisse Adriaanse. 2015-08-29 10:13:36 -04:00
Beman
5e5b529dc2 Fix #10591, boost::filesystem does not build on iOS 8, by applying a patch submitted by Daniel Seither. 2015-08-28 16:41:13 -04:00
Sebastian Redl
26b24ed329 Fix a race condition in unique_path.
If two threads call unique_path at the same time for the first time in the program run,
both initial calls to CryptAcquireContext can fail. Both threads will then call the function
with CRYPT_NEWKEYSET, but only one of these threads can succeed. The other will
fail with NTE_EXISTS.

This patch makes it so that if a call fails with that error, it will try to call without the
flag one more time, in case another thread created the key set in the meantime.

This also applies the patch from trac report #7506. Using these additional flags
is the right thing to do.
2015-08-27 11:42:56 +02:00
Beman
732609a2da Change member normal() and relative() to non-member lexically_normal() and lexically_relative(). See doc/relative_proposal.html#Add-lexical-functions-as-non-members for rationale. 2015-08-23 09:33:21 -04:00
Beman
c739cee694 Apply normal() to weakly_canonical results, but only when know to be needed or it is not known if it may be needed. 2015-08-19 08:43:36 -04:00
Beman
cb11081a7d Finish initial proposed wording section of relative_proposal.html. Drive-by tweaks to other stuff. Add example/directory_symlink_parent_resolution.cpp, include/boost/filesystem/string_file.hpp, and related infrastructure. 2015-08-12 17:26:03 -04:00
Beman
a7ac4c088f Add relative_test to Jamfile, fix Cygwin/GCC C++03 enum constant usage error. 2015-08-10 08:09:48 -04:00
Beman
7d6429554a Bring operational functions weakly_canonical() and relative() up to production quality: move implementations to operations.cpp, add error handling, replace tail recursion with iteration, rename weak_canonical to weakly_canonical. The weak_canonical name grated on me every type I used it. 2015-08-10 07:10:59 -04:00
Beman
34dd2c7718 Add a new path member function: "path normal() const;" and change the old deprecated normalize() non-const function to be implemented in terms of the new function. The implementation remains the same, except for returning by value rather than modifying in place. Motivation: Jamie Alsop has identified removal of redundant .. and . elements (i.e. normalization) as a need closely related to the relative path functionality requested by numerous Boost issue requests, the C++ LWG, and NB comments to the Filesystem TS. Given that both lexical and operational relative functionality is needed, there is less risk in providing a well-documented path::normal() lexical function. 2015-08-08 16:29:44 -04:00
Beman
9706dbb9b1 Revert "Change the name of path::relative to path::relative_to to distinguish it a bit from path::relative_path."
This reverts commit d5fb8323f8.

Leave possible renaming for bikeshed discussions. KISS.
2015-08-08 05:44:30 -04:00
Beman
d5fb8323f8 Change the name of path::relative to path::relative_to to distinguish it a bit from path::relative_path. 2015-08-07 16:50:47 -04:00
Beman
6da5f657fb Remove lexically_relative() free function. Add path::rel 2015-08-07 16:41:06 -04:00
Beman
dc794ea95b Merge branch 'feature/relative' into feature/relative2 2015-08-06 08:08:46 -04:00
Beman
95175ef819 Fix #11491, temp_directory_path doesn't return valid temp path on Android. 2015-07-22 11:13:06 -04:00
Adrien Destugues
3a02e54625 haiku: don't crash because of unsupported locale in libstdc++
See https://svn.boost.org/trac/boost/ticket/4688
We do the same as on Mac OS X and assume the filesystem uses utf-8.

Signed-off-by: Jessica Hamilton <jessica.l.hamilton@gmail.com>
2015-03-17 22:26:31 +00:00
Beman
424f09019c Rewrite Windows implementation of temp_directory_path() to (1) avoid GetTempPath() failure if path length > 130 (ticket #5300) and (2) provide a more sensible sequence of directories than provided by GetTempPath(), per boost list discussion "[filesystem] temp_directory_path() behavior on Windows". 2015-02-03 11:31:57 -05:00
Beman
06bddf3bc3 Rename typedef causing conflict with cygwin libraries. Fix refactoring missed in create_directory_symlink() that only affected cygwin tests. Clear gcc warning on cygwin tests. 2015-01-31 08:53:02 -05:00
Beman
01bbe99241 Refactor operations error handling helpers to (1) be less confusing and (2) fix a Windows problem where ::SetLastError() values were getting cleared before they could be retrieved by the error handling helpers. 2015-01-31 08:00:59 -05:00
Beman
c0b5754ab8 Fix ticket #10388, an occasional failure of temp_directory_path to deal correctly with the trailing separator. A path member function remove_trailing_separator() was added publicly since this may be useful to users. 2015-01-10 09:31:44 -05:00
Beman
bb5a0ff09d Clear warnings, including new warnings from VC++ 2015 preview. 2015-01-05 10:34:24 -05:00
Beman
e4e5bb8bf5 Fix ticket #6945 by applying patch from Kaylyn Bogle 2014-12-30 10:48:46 -05:00
Beman
704f4e328d Add a comment, and two BOOST_ASSERTs to detect the possible infinite loop described in ticket 4438 in case my analysis that the infinite loop will never happen is wrong. 2014-12-26 10:07:43 -05:00
Beman
4b4b3d8853 Add support for the Wind River VxWorks RTOS. Thanks to Rogerio Dos Santos. 2014-12-04 07:23:21 -05:00
Beman
490c2c3298 For all path_traits convert() and dispatch() functions provide two overloads, one with a "const codecvt_type&" argument, and one without. The overload without a codecvt argument calls path::codecvt() iff a conversion actually needs to be performed. Change all uses of path_traits convert() and dispatch() functions call the appropriate overload, rather than calling with path::codecvt() as a default. This limits the impact of locale("") initialization failures on Linux and other non-BSD POSIX systems to programs that actually depend on locale(""). It further ensures that exceptions thrown as a result of such failures occur after main() has started, and so can be caught. 2014-10-27 19:20:17 -04:00
Beman
1262a9f0d2 Fix C++03 compile failures for previous commit. 2014-10-24 11:46:50 -04:00
Beman
d57509c558 For compiled operational function detail::copy_file, pass detail::copy_options, a plain-old enum, rather than a BOOST_SCOPED_ENUM. We cannot pass a BOOST_SCOPED_ENUM to a compled function because it will result in an undefined reference if the library is compiled with -std=c++0x but the use is compiled in C++03 mode, or vise versa. Fixes tickets #6124, #6779, and #10038. 2014-10-24 10:58:42 -04:00
Beman
d5a2658d16 Move constant used only on Windows into Windows-specific helpers. Quiets clang warning message. 2014-09-04 09:24:20 -04:00
Beman
0041ea9646 Removed unused codecvt buffer size definitions long since moved to path_traits. Quiets clang warning. 2014-09-04 09:13:57 -04:00
Beman
76d209567f Refactor dot_path and dot_dot_path into functions, to prevent path constructor being called before main() starts. In theory that is harmless when path::value_type is the same as value_type of the ctor Source, but eliminating it simplifies reasoning about program correctness. 2014-08-22 11:31:42 -04:00
Beman
5b4e1b5580 Remove comments about mutexes. They are a distraction and less relevant as C++11 support becomes widespread. 2014-08-18 09:01:16 -04:00
Beman
35096ca056 Add 9219.cpp plus infrastructure and path.cpp logging 2014-08-17 10:55:01 -04:00
Beman
8ef629c906 Add __OpenBSD__ to the operating systems that "expect their string parameters to be in UTF-8 encoding and nothing else." Fixes #8352 2014-08-06 12:24:44 -04:00
Beman
750a82e20d Revert "Merge branch 'develop' of github.com:boostorg/filesystem into develop"
This reverts commit 4610afc49e, reversing
changes made to 6623bde4fe.
2014-08-05 09:16:57 -04:00
Beman
cc99cc6ceb Merge branch 'develop' into ts-develop 2014-07-31 17:24:34 -04:00
Beman
d83b8d9c6b Add ticket number. 2014-07-28 17:05:43 -04:00
Beman
91c4517a8c Add a useless initialization to quiet the Clang static analyzer, closing ticket #8954. 2014-07-28 16:47:25 -04:00
Beman
feffecb67f Remove testing residue, update copyright date. 2014-07-25 15:35:36 -04:00
Beman
d774842f39 Initial directory junction support. See release_history.html 2014-07-25 11:00:54 -04:00
Beman
038bce7e2d DTS: enum perms changed to enum class perms. Constant names have changed; synonyms provided. 2014-07-23 15:35:44 -04:00
Beman
99a94662b2 Merge branch 'develop' into ts-develop
Conflicts:
	include/boost/filesystem/operations.hpp
	test/operations_test.cpp
2014-07-22 20:55:58 -04:00
Beman
6ed4c4f6f7 Apply Christian Hammerl's fix for tickets 9683 and 10187. Supply test cases that should work for both POSIX and Windows. Tested with fix commented out to verify test cases do detect the problem. 2014-07-16 08:48:44 -04:00
Beman
fcb9600f91 Merge updates from Beman's Github repo. Unstable. 2014-07-09 14:47:13 -04:00
Beman
b1b1cea3c4 Rename relative to lexically_relative. Add semi_canonical() and relative(). 2014-05-29 15:42:11 -04:00
Beman
aa89af3387 Add test cases, correct typo 2014-05-05 14:23:59 -04:00
Beman
7cfff1821e initial implementation of relative(). 2014-05-05 11:54:27 -04:00
Beman Dawes
4b530071ab Merge pull request #1 from chris5287/patch-1
Update operations.cpp
2014-05-02 09:35:18 -04:00
Beman
0ddac9e962 Jürgen Hunold reports 'colon' const causes clang warning because it isn't used. Closes pull request #2 2014-05-01 17:34:47 -04:00
Chris Stylianou
e64d3f2dc3 Update operations.cpp
Added missing check for Solaris 10 which can declare __sun as well.
2014-01-03 02:31:58 +00:00
Antony Polukhin
f45977684a Apply trivial patch for Android compilation of Boost.Filesystem (refs #8706)
[SVN r84916]
2013-06-30 10:51:55 +00:00
Beman Dawes
7bb19f9604 Add FreeBSD support. Fix #4688
[SVN r83083]
2013-02-22 14:32:50 +00:00
Beman Dawes
f74de6c268 Revert mutex locking attempt. VC++ static builds failed in the C runtime because Microsoft staticly initializes some stuff that should be dynamically initialized.
[SVN r83034]
2013-02-19 21:09:10 +00:00
Beman Dawes
ce4dcdac91 Add locale_mutex to prevent race condition within path_locale(), either during initialization or use.
[SVN r83032]
2013-02-19 21:08:14 +00:00
Beman Dawes
5311e8139d After path.cpp mess cleanup but before adding mutex
[SVN r83031]
2013-02-19 21:07:52 +00:00
Beman Dawes
842f91ada2 Revert mutex locking attempt. VC++ static builds failed in the C runtime because Microsoft staticly initializes some stuff that should be dynamically initialized.
[SVN r83027]
2013-02-19 21:06:16 +00:00
Beman Dawes
c0f470b916 Add locale_mutex to prevent race condition within path_locale(), either during initialization or use.
[SVN r83022]
2013-02-19 21:04:03 +00:00
Beman Dawes
2c0d73967d After path.cpp mess cleanup but before adding mutex
[SVN r83021]
2013-02-19 20:39:26 +00:00
Vicente J. Botet Escriba
15491b6fcf System/FileSystem/Asio/Thread: ref #7278 Added noexcept to Boost.System to conform with C++11
[SVN r81808]
2012-12-09 14:47:39 +00:00
Beman Dawes
08c11663d9 Fix #7239, Stack overflow when calling create_directories(":D"). The reported problem was a symptom of an internal bug that caused path::filename() and path::parent_path() to fail on Windows for path(":"), and that in turn caused other functions that depend on filename() or parent_path() to fail, such as create_directories().
[SVN r80279]
2012-08-28 12:57:02 +00:00
Beman Dawes
6d73e629b8 Fix #6659 and #7051, fchmodat supported only on Solaris 11. Disable fchmodat for both Sun and GCC compilers regardless of OS version; a runtime check is too much trouble.
[SVN r79484]
2012-07-13 21:02:36 +00:00
Beman Dawes
999ab2ff4b Fix a Linux fchmodat problem affecting symlink permissions reported during discussion of 6659. Patch supplied by Duncan Exon Smith. Does not fix the original problem.
[SVN r79481]
2012-07-13 19:43:33 +00:00
Beman Dawes
ede84eefd7 Filesystem: Further fixes for #6932. Clarify docs. Add test cases.
[SVN r78747]
2012-05-29 15:53:02 +00:00
Beman Dawes
c0b7979013 Filesystem: fix #6932, create_directories throws exception even if error_code is specified.
[SVN r78721]
2012-05-28 15:47:59 +00:00
Dave Abrahams
4d8dd5055d Summary: Moved libs/detail/utf8_codecvt_facet.cpp to boost/detail/utf8_codecvt_facet.ipp
Author: Dave Abrahams <dave@boostpro.com>


[SVN r78081]
2012-04-19 18:19:20 +00:00
Beman Dawes
221b7cf7c6 Filesystem: Fix #6809, Implementation of filesystem::rename() method for MS Windows is wrong, by adding MOVEFILE_COPY_ALLOWED to deal with renames across drives, volumes, file systems. Fix has no effect on non-Windows systems.
[SVN r78078]
2012-04-19 12:45:42 +00:00
Beman Dawes
1207aac116 filesystem: Move compare() implementation to path.cpp, thus clearing gcc warning about header implementation of class with dll interface.
[SVN r78006]
2012-04-16 13:36:28 +00:00
Beman Dawes
da4f223c5b Fix #6690 and #6737, resolving static linking related problems with VC++ 8 through 11. Note that this fix may reintroduce codecvt thread safety problems #4889, #6320, for these compilers if static linking is used.
[SVN r78000]
2012-04-15 20:34:19 +00:00
Beman Dawes
82c5b7533b Fix #4065, Boost Filesystem lexicographic path comparison inconsistent. The fix included adding path::compare functions, and cleanup and refactoring of the path relational operators code. Some of the code fixed is used by other functions, so some unrelated bugs may also have been fixed.
[SVN r77669]
2012-03-31 15:53:24 +00:00
Beman Dawes
4910fe6e64 Fix #3737, Boost.Filesystem does not compile on Windows Mobile
[SVN r77585]
2012-03-27 14:40:56 +00:00
Beman Dawes
494b34027e Fix #5118, replace_extension doesn't work as specified in documentation
[SVN r77571]
2012-03-26 21:19:36 +00:00
Beman Dawes
7941871477 Filesystem - Delete v3 directories no longer needed. Cleanup links, namespaces, and other residue from dual v2/v3 support.
[SVN r77555]
2012-03-26 12:44:24 +00:00
Beman Dawes
16099b4c7d Filesystem - Move V3 files and directories into place
[SVN r77554]
2012-03-26 12:31:06 +00:00
Beman Dawes
fa515c07f5 Move files into new v2 + v3 directory structure
[SVN r62653]
2010-06-09 13:00:15 +00:00
Beman Dawes
91715967a5 Upgrade system and filesystem to conform system_category and generic_category interface to N3090, the current C++0x working paper, section 19.5, System error support.
Refactor API macros into a new header, boost/system/api_config.hpp.

Prohibit user definition of API macros. Rationale: ensure all translation units use same definitions, cut number of environments that need to be tested.

[SVN r62313]
2010-05-30 15:38:32 +00:00
Beman Dawes
c855c033b6 Fix #3962
[SVN r62220]
2010-05-25 23:47:37 +00:00
Beman Dawes
012d1d3b75 Fix #3910
[SVN r62219]
2010-05-25 23:33:39 +00:00
Beman Dawes
ac5729f7fe Fix #3867, both for ERROR_NOT_READY and ERROR_INVALID_DRIVE. These happen when CD/DVD drive has no disc and USB card reader has no card, respectively.
[SVN r62218]
2010-05-25 23:18:13 +00:00
Daniel James
a77e191a25 Use full filesystem namespace as there isn't an alias at this point.
[SVN r59709]
2010-02-16 22:33:27 +00:00
Beman Dawes
9beb3923e1 Fix #3928
[SVN r59695]
2010-02-15 21:23:05 +00:00
Beman Dawes
a14be77483 Fix #3551 for Windows Mobile
[SVN r58193]
2009-12-06 16:55:44 +00:00
Troy D. Straszheim
6656351d2e rm cmake from trunk. I'm not entirely sure this is necessary to satisfy the inspect script, but I'm not taking any chances, and it is easy to put back
[SVN r56942]
2009-10-17 02:07:38 +00:00
Beman Dawes
68168bc676 Filesystem: fix #3509
[SVN r56616]
2009-10-06 12:32:46 +00:00
Troy D. Straszheim
d46ec2ea1c Copyrights on CMakeLists.txt to keep them from clogging up the inspect
reports.  This is essentially the same commit as r55095 on the release
branch.



[SVN r55159]
2009-07-26 00:49:56 +00:00
Beman Dawes
a9ef12ad33 Filesystem: fix #3172, ECV++ 9 missing <sys/utime.h>. The fix applied was to include <ctime> instead. This is the correct header; the previous song-and-dance was workaround on top of workaround from years ago. This change will break any Windows libraries that don't provide <ctime>, but if that happens workarounds specific to those libraries can be added. That's better than cluttering up the code with workarounds no longer needed.
[SVN r54032]
2009-06-17 22:50:10 +00:00
Beman Dawes
0aaa65e768 Fix Filesystem #2925, copy_file atomiticity
[SVN r53073]
2009-05-17 15:55:46 +00:00
Beman Dawes
ca156ad712 Workaround: Sun compiler on Linux dirent.h defines _DIRENT_HAVE_D_TYPE but expected macros not present
[SVN r52420]
2009-04-16 14:51:55 +00:00
Beman Dawes
0858d28868 Filesystem: fix #1452
[SVN r52383]
2009-04-14 13:27:44 +00:00
Beman Dawes
b917a12625 Fix #2725
[SVN r51931]
2009-03-23 11:30:54 +00:00
Beman Dawes
be7290da56 Filesystem: Fix #2531 by applying suggested patch
[SVN r50562]
2009-01-13 13:30:07 +00:00
Beman Dawes
83fd6d4c42 Filesystem: fix native(name) test failures on POSIX
[SVN r50555]
2009-01-12 16:57:52 +00:00
Beman Dawes
0bd0323239 Filesystem: fix #1840, including adding test cases and updating docs
[SVN r50543]
2009-01-11 16:50:06 +00:00
Beman Dawes
17f2e28fef Filesystem: fix #2542, wrong close 0 descriptor in copy_file_api on unix
[SVN r50033]
2008-11-30 02:49:13 +00:00
Michael A. Jackson
5cde8da587 Continuing merge of CMake build system files into trunk with the encouragement of Doug Gregor
[SVN r49510]
2008-11-01 13:15:41 +00:00
Beman Dawes
e2cd046fde Filesystem: ticket #2176.
[SVN r49209]
2008-10-09 15:01:27 +00:00
Beman Dawes
9a3052e452 Filesystem; clear ticket #2168
[SVN r49085]
2008-10-01 15:50:44 +00:00
Beman Dawes
f58c3cd871 fix posix_remove() return
[SVN r47186]
2008-07-07 13:09:09 +00:00
Beman Dawes
3ee73a0df7 Partial resolution of ticket #1972; remove() issues for POSIX are cleared. Added regression test cases covering self-reference and cyclic symlinks.
[SVN r47006]
2008-07-02 21:05:54 +00:00
Beman Dawes
5a43bcd288 Add #include <cwchar> to fix ticket #1589
[SVN r46481]
2008-06-18 15:55:53 +00:00
Beman Dawes
583f944e67 Remove exception.cpp
[SVN r45826]
2008-05-27 17:49:17 +00:00
Hartmut Kaiser
89839af509 Wave: Updated to use new Spirit Classic library structure and namespace. Lots' of minor changes and adjustments. Switched version to 2.0 since this version is not backwards compatible anymore with earlier versions.
[SVN r44381]
2008-04-13 22:39:12 +00:00
Marshall Clow
dcbe9649c2 Replaced all occurrences of non-ASCII copyright symbol with '(c)' for people using non-ASCII code pages
[SVN r43992]
2008-04-02 01:42:32 +00:00
Beman Dawes
8fb975b2b9 Fix inspect boo boos; mostly broken links
[SVN r43709]
2008-03-18 19:35:18 +00:00
Beman Dawes
959dfd8ab7 clear # 1230, mbstate uninitialized
[SVN r41357]
2007-11-25 15:08:28 +00:00
Beman Dawes
6576b1c0df Copyright and/or License cleanup
[SVN r40890]
2007-11-07 16:08:09 +00:00
Beman Dawes
8d845ad07a Enable the XPG-compliant version of readdir_r() on AIX. Merged from 1.34.1.
[SVN r40640]
2007-11-01 15:23:06 +00:00
Beman Dawes
fbb5d8650b Treat Windows ERROR_SHARING_VIOLATION as an existing file of unknown type. Fixes ticket #897
[SVN r40630]
2007-10-31 22:01:58 +00:00
Beman Dawes
cf38bdb506 Win64 returns ERROR_BAD_PATHNAME for //nosuch, while Win32 returns ERROR_BAD_NETPATH
[SVN r39556]
2007-09-26 18:11:27 +00:00
Beman Dawes
85ed046d40 Turns out the --dep_name errors were due to functions in the wrong namespace (Chris Kohlhoff)
[SVN r39553]
2007-09-26 17:48:27 +00:00
Beman Dawes
184a2518c5 Clear compiler warnings
[SVN r39520]
2007-09-25 13:45:52 +00:00
Boris Gubenko
887e81ae91 reapply fix for gcc on HP-UX in -r39130
[SVN r39237]
2007-09-13 16:11:38 +00:00
Beman Dawes
ac94c31ac1 POSIX fix from Neal Becker
[SVN r39220]
2007-09-12 18:31:25 +00:00
Beman Dawes
969eb8a6c0 Posix and Linux fixes
[SVN r39174]
2007-09-09 17:48:17 +00:00
Beman Dawes
49f6e3cfd7 Merge system and filesystem branches, bringing them in sync with N2415. Several filesystem bugs fixed, and current_path setter added.
[SVN r39173]
2007-09-09 14:59:10 +00:00
Boris Gubenko
c7ede6dc3d missing conditionalization for g++ on HP-UX
[SVN r39130]
2007-09-05 17:14:29 +00:00
Beman Dawes
2045be22d6 Bring into compliance with N2066, TR2 Diagnostics Enhancements. Tests passing on Win32, Linux, on most modern compilers.
[SVN r35823]
2006-11-03 16:57:30 +00:00
Alexander Nasonov
4bfae9e3a5 Workaround for missing statvfs on OpenBSD 3.9
[SVN r35265]
2006-09-21 19:41:47 +00:00
Beman Dawes
34f65b491c HP-UX < 11.23 sys/statvfs.h bug workaround from Boris Gubenko of HP
[SVN r34260]
2006-06-09 21:25:47 +00:00
Beman Dawes
13f4cb958e Use PATH_MAX if defined, only call pathconf() once - both to solve performance problems reported on Linux
[SVN r33762]
2006-04-21 14:04:56 +00:00
Beman Dawes
22bb191bf0 Remove copyright symbol as it causes VC++ warnings on Windows with codepage set to non-English, particularly Asian, languages
[SVN r33295]
2006-03-09 22:15:07 +00:00
Beman Dawes
edce5474de move additional static to function scope. see prior fix.
[SVN r33257]
2006-03-07 16:04:25 +00:00
Beman Dawes
6ea1a84f9a Move std::locale constrution to function scope so exceptions can be caught. See comment in the code.
[SVN r33235]
2006-03-06 15:18:30 +00:00
Beman Dawes
38e9a79302 detail::narrow_path_api() fix from Takeshi Mouri
[SVN r33211]
2006-03-03 14:12:28 +00:00
Beman Dawes
63370e0bcc get_full_path_name_template bug fix (Arjen Wagenaar)
[SVN r33203]
2006-03-02 21:00:41 +00:00
Beman Dawes
897bbc0706 WinNT 4.0 does not support hard links. Not sure if removing the feature entirely is the best fix, but since NT 4.0 is about dead it seems harmless to fix this way. (Based on patch from Mark Bartosik)
[SVN r33084]
2006-02-23 02:28:57 +00:00
Beman Dawes
c949152405 readdir_r Tru64 patch from Markus Schöpflin
[SVN r33039]
2006-02-20 21:21:06 +00:00
Beman Dawes
e13c53c685 copy_file partial write fix
[SVN r33036]
2006-02-20 20:17:25 +00:00
Rene Rivera
b66f0c8c97 Adjust Boost.Jam references to new root/tools/jam location.
[SVN r32873]
2006-02-12 23:18:46 +00:00
Beman Dawes
349f708f01 Add UNC test cases, comment to status code
[SVN r32745]
2006-02-08 17:31:20 +00:00
Beman Dawes
040c9372b3 Bring into sync with WG21/D1934=06-0004
[SVN r32532]
2006-02-03 20:59:04 +00:00
Beman Dawes
96cb571b6a Add two exists() cases thanks to John Maddock
[SVN r32267]
2006-01-09 14:20:15 +00:00
Beman Dawes
7919b686cd POSIX - check for DT_UNKNOWN to handl filesystems not supporting d_type values
[SVN r32230]
2006-01-06 00:54:44 +00:00
Beman Dawes
aac5f49666 is_file, file_flag -> is_regular, regular_flag per TR2 proposal
[SVN r32201]
2006-01-02 02:30:53 +00:00
Beman Dawes
b5373a18ad fix BOOST_FILESYSTEM_STATUS_CACHE misunderstanding about use of __USE_BSD
[SVN r32181]
2005-12-28 21:48:02 +00:00
Beman Dawes
956f89b31e Sun docs say _POSIX_PTHREAD_SEMANTICS needed for POSIX readdir_r
[SVN r32180]
2005-12-28 21:24:11 +00:00
Beman Dawes
85ee5f4e3b disable BOOST_FILESYSTEM_STATUS_CACHE for __APPLE__
[SVN r32168]
2005-12-27 14:37:08 +00:00
Beman Dawes
cf8790384b statvfs workaround for Apple
[SVN r32164]
2005-12-26 15:38:51 +00:00
Beman Dawes
8472a0f2be fix Metrowerks and QNX snafus
[SVN r32124]
2005-12-21 02:51:07 +00:00
Beman Dawes
6ee6f9c576 fix readdir_r buffer size on some POSIX systems
[SVN r32116]
2005-12-20 18:41:30 +00:00
Beman Dawes
2d89fd6927 BOOST_FILESYSTEM_STATUS_CACHE never applies to Sun (Calvin Epstein)
[SVN r32102]
2005-12-19 13:05:15 +00:00
Beman Dawes
f42d10d6f8 Disable BOOST_FILESYSTEM_STATUS_CACHE for GLIBCXX on Sun
[SVN r32099]
2005-12-19 02:54:03 +00:00
Beman Dawes
c2e0823f19 move dirent d_type config tests from config.hpp to operations.cpp
[SVN r32087]
2005-12-17 14:40:36 +00:00
Beman Dawes
48d4335bfc merge from i18n branch - at last!
[SVN r32079]
2005-12-16 16:40:35 +00:00
Beman Dawes
bc72a98614 Fix umlat in Dietmar's last name compiler warning
[SVN r31992]
2005-12-12 02:41:57 +00:00
Beman Dawes
66bf10a502 bug 1151823, detect / in POSIX name
[SVN r31822]
2005-11-29 15:46:02 +00:00
Beman Dawes
31b3d70c7d add fixes and tests for c:foo directory iteration bug 1259176
[SVN r31821]
2005-11-29 15:35:23 +00:00
Beman Dawes
e0042ff90b Fix QNX bug (Jim Douglas)
[SVN r31485]
2005-10-26 22:18:49 +00:00
Beman Dawes
a9458cdc47 Revert to 0xFFFFFFFF because VC++6.0 doesn't support INVALID_FILE_ATTRIBUTES
[SVN r31021]
2005-09-18 14:53:36 +00:00
Douglas Gregor
c8330af714 Remove extraneous debugging information
[SVN r30894]
2005-09-10 06:06:21 +00:00
Beman Dawes
2f494a565b small fixes, changes to allow path_table.cpp to support both Windows and Posix in same program (for testing purposes)
[SVN r30861]
2005-09-07 21:01:25 +00:00
Beman Dawes
aa8837925c Add two missing BOOST_FILESYSTEM_DECL
[SVN r30140]
2005-07-16 21:59:46 +00:00
Toon Knapen
348391a38a On HPUX-aCC, readdir_r is only declared if the option '-mt' is passed onto the aCC
compiler. Now the code detects if the multithreading option is passed by
checking if _REENTRANT is defined (in combination with __HP_aCC)


[SVN r29728]
2005-06-22 10:08:13 +00:00
Beman Dawes
b192558c49 use a form of directory iteration search Sebastian Martel reports will work with Win98
[SVN r29465]
2005-06-07 13:16:56 +00:00
Beman Dawes
65a1ee085a Second try at CodeWarrior ::remove() bug workaround
[SVN r29453]
2005-06-07 01:17:50 +00:00
Martin Wille
6bac933395 -- typo
[SVN r29399]
2005-06-03 08:17:32 +00:00
Beman Dawes
ce543c48bd workaround CodeWarrior / Mac C library remove problem
[SVN r29390]
2005-06-02 22:19:47 +00:00
Beman Dawes
be84be9827 workaround MSL C lib wrong errno from ::getcwd(). Metrowerks says they will fix, but I don't know the version numbers involved.
[SVN r29080]
2005-05-19 22:10:29 +00:00
Beman Dawes
bcbc83b9bd Make POSIX copy_file more robust
[SVN r28820]
2005-05-11 13:20:00 +00:00
Beman Dawes
3b644dd62c Add ERROR_NOT_READY to exists() list
[SVN r28705]
2005-05-07 01:25:38 +00:00
Beman Dawes
88524db326 Fix _USE_FILE_OFFSET_BITS spelling (Caleb Epstein)
[SVN r28027]
2005-04-06 22:24:23 +00:00
Markus Schöpflin
5a8cdab377 Fixed POSIX feature test for _POSIX_THREAD_SAFE_FUNCTIONS.
[SVN r27953]
2005-04-04 11:47:24 +00:00
Beman Dawes
dd84066d81 Move 64-bit defines so all headers see them (Calib Epstein)
[SVN r27902]
2005-03-31 14:29:13 +00:00
Beman Dawes
b56570fb8a use POSIX readdir_r if available
[SVN r26779]
2005-01-21 14:21:06 +00:00
Beman Dawes
146a203800 Correctly handle empty root directory on Windows (Ben Hutchings)
[SVN r26620]
2005-01-03 14:58:59 +00:00
Beman Dawes
324c7540c5 Apply BOOST_NO_STDC_NAMESPACE workaround after all #includes to make less std lib implementation dependent. (François Dumont)
[SVN r26581]
2004-12-24 14:19:18 +00:00
Beman Dawes
29f06fe6d2 Add ERROR_BAD_NETPATH to exists() checks (Martin Slater)
[SVN r26432]
2004-12-05 22:45:44 +00:00
Beman Dawes
177383032b fix equivalent() failures across subst Windows drives
[SVN r26317]
2004-11-26 19:35:17 +00:00
Beman Dawes
7a0018fd9b fix 2 cases where on Windows a backslash was not equivalent to a forward slash
[SVN r26184]
2004-11-11 16:38:21 +00:00
Beman Dawes
373cca5226 fix failure to remove dangling symbolic link (Walter Landry)
[SVN r26064]
2004-11-01 21:09:25 +00:00
Beman Dawes
823169cbc6 Quiet gcc warning (Lars Gullik Bjønne)
[SVN r25865]
2004-10-25 16:58:54 +00:00
Beman Dawes
bc41d3735d last_write_time() fix
[SVN r25637]
2004-10-09 20:25:30 +00:00
Beman Dawes
097d0d6ebe Work around Intel 7.1/Linux include problem
[SVN r25235]
2004-09-19 19:48:29 +00:00
Beman Dawes
e4330acdc9 Add define for _USE_FILE_OFFSET_BITS 64 in hopes of picking up large file support on more systems (David Judson)
[SVN r25125]
2004-09-15 21:24:23 +00:00
Beman Dawes
d7651f2c21 Fix POSIX trailing colon bug (Angus Leeming)
[SVN r25123]
2004-09-15 16:00:57 +00:00
Beman Dawes
86a674a57a add possible_large_file_size_support and associated test
[SVN r25010]
2004-09-10 13:53:02 +00:00
John Maddock
06aa67ca32 Another Win32 error code that needs handling (indicates that the file does not exist).
[SVN r24555]
2004-08-18 12:53:18 +00:00
John Maddock
b1aeed6f32 Re-ordered includes to prevent macro-redeffinitions
[SVN r24156]
2004-07-29 11:00:58 +00:00
Douglas Gregor
38ed4c472c Documentation update from Jon T. Pedant
[SVN r23847]
2004-07-20 17:03:55 +00:00
John Maddock
f69c19dc5c Added fix for when the filename syntax is invalid.
[SVN r23033]
2004-06-05 11:52:22 +00:00
John Maddock
5b78d4c497 filesystem::exists, must check to see why a filesystem stat failed, before assuming that the file does not exist.
[SVN r22564]
2004-03-30 15:19:58 +00:00
Beman Dawes
3e74ac39e8 Add equivalent()
[SVN r22531]
2004-03-20 18:24:48 +00:00
Beman Dawes
44c08bc4eb add relational operators
[SVN r22498]
2004-03-14 17:53:45 +00:00
Beman Dawes
446f23446c create_directory() and create_directories() now return bool
[SVN r22481]
2004-03-11 16:08:16 +00:00
Beman Dawes
c0b701f6d5 __USE_FILE_OFFSET64 now tested on Linux
[SVN r22327]
2004-02-19 14:03:08 +00:00
Beman Dawes
99b98e64d7 more reliable POSIX current_path() imp (issue reported and fix tested by Ron Garcia)
[SVN r22182]
2004-02-06 01:27:06 +00:00
Beman Dawes
9c86292c6d add file_size() support
[SVN r22156]
2004-02-03 16:00:10 +00:00
Beman Dawes
5d414f1803 add arg to 2nd ctor
[SVN r22155]
2004-02-03 15:58:10 +00:00
Beman Dawes
1de69f7103 ./.. detection recoded to cleanly avoid Borland std bug
[SVN r21875]
2004-01-22 01:10:23 +00:00
Beman Dawes
23acebe6dc missing std for remove, rename
[SVN r21708]
2004-01-13 22:28:38 +00:00
Beman Dawes
c74ea146bf suppress warnings, add missing thow_exception call (Lars Gullik Bjønnes)
[SVN r21569]
2004-01-09 21:07:26 +00:00
Beman Dawes
bdeca0a7c9 make directory_iterator all inline so Filesystem lib can be built as DLL
[SVN r21311]
2003-12-18 01:57:49 +00:00
Beman Dawes
106244af24 copy_file: copy attributes on POSIX too
[SVN r21235]
2003-12-12 14:11:32 +00:00
Beman Dawes
fe44b73ba4 Add symbolic_link_exists
[SVN r21214]
2003-12-10 19:45:59 +00:00
Beman Dawes
6e5203dbd9 Separate canonic and normal form, add path::normalize()
[SVN r21190]
2003-12-09 18:10:50 +00:00
Beman Dawes
790047851b update license so inspect can see it
[SVN r20959]
2003-11-26 12:45:13 +00:00
Beman Dawes
8f91eb8b7a add abi, dll, auto_link
[SVN r20948]
2003-11-25 18:37:32 +00:00
Beman Dawes
31d5bb662d Add BOOST_FILESYSTEM_SOURCE
[SVN r20902]
2003-11-21 15:02:49 +00:00
Beman Dawes
2f7da5b37a Add BOOST_FILESYSTEM_DECL
[SVN r20901]
2003-11-21 14:53:55 +00:00
Beman Dawes
8c8ea6e75b Update copyright and license info
[SVN r20243]
2003-10-02 15:17:36 +00:00
Beman Dawes
77334ba34d Change to new license, with permission from Dietmar and Jan
[SVN r20042]
2003-09-13 19:33:50 +00:00
Beman Dawes
3ca5d3daab Change license message to reference Boost Software License
[SVN r20038]
2003-09-12 17:09:29 +00:00
Dave Abrahams
63bc5d1f3b Removed unused variable which caused a Comeau warning.
[SVN r20001]
2003-09-10 16:06:38 +00:00
Beman Dawes
1fa3fd646d add new name_check mechanism
[SVN r19808]
2003-08-27 14:50:05 +00:00
Beman Dawes
5f2c32bf8a workaround Borland namespace issue
[SVN r19481]
2003-08-06 20:05:57 +00:00
Beman Dawes
6b9e01ab27 Add 2 arg last_write_time()
[SVN r19480]
2003-08-06 19:28:53 +00:00
Beman Dawes
755ee89447 fix and clarify prior change
[SVN r19108]
2003-07-14 11:54:48 +00:00
Jens Maurer
9411f851df POSIX remove() may remove either EEXIST or ENOTEMPTY. Canonify to ENOTEMPTY.
[SVN r19099]
2003-07-13 18:46:44 +00:00
Beman Dawes
3c0d481444 change to iterator_facade
[SVN r19090]
2003-07-12 17:48:25 +00:00
Beman Dawes
20cf6a6b81 add directory-placeholder syntax
[SVN r18783]
2003-06-11 18:03:22 +00:00
Beman Dawes
a37ea1efc2 fix for cases where . and .. are not first in directory (reported by Tim Shead)
[SVN r18764]
2003-06-10 21:00:26 +00:00
Beman Dawes
f6a9b8dbb7 Add last_write_time function
[SVN r18383]
2003-05-11 13:56:56 +00:00
Dave Abrahams
2d756c6eb1 restore from disk crash
[SVN r18353]
2003-05-08 02:19:10 +00:00
Beman Dawes
f446bb313e share filesystem_error imp to make copying less memory intensive, recover from exceptions in some filesystem_error functions
[SVN r18072]
2003-03-24 02:32:33 +00:00
Beman Dawes
b8365f695e quiet compiler warnings
[SVN r17198]
2003-02-04 14:22:32 +00:00
Beman Dawes
cd42f09e4a fix system_complete bug on POSIX
[SVN r16871]
2003-01-11 14:04:43 +00:00
Beman Dawes
2ea74326bc error arg fix (Peter Dimov)
[SVN r16750]
2003-01-04 15:18:10 +00:00
Beman Dawes
3f64ac195b Platform detection fixes
[SVN r16749]
2003-01-04 15:07:09 +00:00
Beman Dawes
3757827175 remove tabs
[SVN r16727]
2002-12-31 16:55:13 +00:00
Beman Dawes
63f8c34b7f filesystem_error redesign
[SVN r16723]
2002-12-30 19:16:31 +00:00
Beman Dawes
6ea7dee986 initial commit
[SVN r16649]
2002-12-18 17:09:08 +00:00
Beman Dawes
dc0e363c94 remove unreachable return (Peter Dimov)
[SVN r16639]
2002-12-17 15:43:36 +00:00
Beman Dawes
fadc0fc63e fs_review branch merged
[SVN r16593]
2002-12-11 19:47:00 +00:00
Beman Dawes
b099134ee4 SGI MIPSpro fixes from Patrick Hartling
[SVN r16010]
2002-10-29 01:21:32 +00:00
Beman Dawes
543669496a initial commit - review comments not yet applied
[SVN r15831]
2002-10-09 19:49:35 +00:00