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 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