diff options
author | B Stack <bgstack15@gmail.com> | 2021-01-04 13:48:35 +0000 |
---|---|---|
committer | B Stack <bgstack15@gmail.com> | 2021-01-04 13:48:35 +0000 |
commit | edb1c4482c0a0d91bddfee6e1f9fce234e59840a (patch) | |
tree | 494f9fc32eeee34c6c46611ae0137c25a79517a4 /zen | |
parent | Merge branch '11.4' into 'master' (diff) | |
parent | add upstream 11.5 (diff) | |
download | FreeFileSync-edb1c4482c0a0d91bddfee6e1f9fce234e59840a.tar.gz FreeFileSync-edb1c4482c0a0d91bddfee6e1f9fce234e59840a.tar.bz2 FreeFileSync-edb1c4482c0a0d91bddfee6e1f9fce234e59840a.zip |
Merge branch '11.5' into 'master'11.5
add upstream 11.5
See merge request opensource-tracking/FreeFileSync!29
Diffstat (limited to 'zen')
-rw-r--r-- | zen/base64.h | 16 | ||||
-rw-r--r-- | zen/basic_math.h | 2 | ||||
-rw-r--r-- | zen/file_traverser.cpp | 15 | ||||
-rw-r--r-- | zen/string_traits.h | 2 | ||||
-rw-r--r-- | zen/utf.h | 2 |
5 files changed, 18 insertions, 19 deletions
diff --git a/zen/base64.h b/zen/base64.h index b39a6a52..f03a1433 100644 --- a/zen/base64.h +++ b/zen/base64.h @@ -13,14 +13,14 @@ namespace zen { -//https://en.wikipedia.org/wiki/Base64 -/* -Usage: - const std::string input = "Sample text"; - std::string output; - zen::encodeBase64(input.begin(), input.end(), std::back_inserter(output)); - //output contains "U2FtcGxlIHRleHQ=" -*/ +/* https://en.wikipedia.org/wiki/Base64 + + Usage: + const std::string input = "Sample text"; + std::string output; + zen::encodeBase64(input.begin(), input.end(), std::back_inserter(output)); + //output contains "U2FtcGxlIHRleHQ=" */ + template <class InputIterator, class OutputIterator> OutputIterator encodeBase64(InputIterator first, InputIterator last, OutputIterator result); //nothrow! diff --git a/zen/basic_math.h b/zen/basic_math.h index 0f5191e3..2171ee24 100644 --- a/zen/basic_math.h +++ b/zen/basic_math.h @@ -175,7 +175,7 @@ auto integerDivideRoundUp(N numerator, D denominator) { static_assert(zen::IsInteger<N>::value); static_assert(zen::IsInteger<D>::value); - assert(numerator > 0 && denominator > 0); + assert(numerator >= 0 && denominator > 0); return (numerator + denominator - 1) / denominator; } diff --git a/zen/file_traverser.cpp b/zen/file_traverser.cpp index 0afc28ee..aa48cb85 100644 --- a/zen/file_traverser.cpp +++ b/zen/file_traverser.cpp @@ -8,7 +8,7 @@ #include "file_error.h" - #include <unistd.h> //::pathconf() + //#include <unistd.h> //::pathconf() #include <sys/stat.h> #include <dirent.h> @@ -50,7 +50,7 @@ void zen::traverseFolder(const Zstring& dirPath, const Zstring& itemName = itemNameRaw; if (itemName.empty()) //checks result of normalizeUtfForPosix, too! - throw FileError(replaceCpy(_("Cannot read directory %x."), L"%x", fmtPath(dirPath)), formatSystemError("readdir", L"", L"Folder contains child item without a name.")); + throw FileError(replaceCpy(_("Cannot read directory %x."), L"%x", fmtPath(dirPath)), formatSystemError("readdir", L"", L"Folder contains an item without name.")); const Zstring& itemPath = appendSeparator(dirPath) + itemName; @@ -82,13 +82,12 @@ void zen::traverseFolder(const Zstring& dirPath, if (onFile) onFile({ itemName, itemPath, makeUnsigned(statData.st_size), statData.st_mtime }); } - /* - It may be a good idea to not check "S_ISREG(statData.st_mode)" explicitly and to not issue an error message on other types to support these scenarios: - - RTS setup watch (essentially wants to read directories only) - - removeDirectory (wants to delete everything; pipes can be deleted just like files via "unlink") - However an "open" on a pipe will block (https://sourceforge.net/p/freefilesync/bugs/221/), so the copy routines need to be smarter!! - */ + /* It may be a good idea to not check "S_ISREG(statData.st_mode)" explicitly and to not issue an error message on other types to support these scenarios: + - RTS setup watch (essentially wants to read directories only) + - removeDirectory (wants to delete everything; pipes can be deleted just like files via "unlink") + + However an "open" on a pipe will block (https://sourceforge.net/p/freefilesync/bugs/221/), so the copy routines need to be smarter!! */ } } catch (const FileError& e) diff --git a/zen/string_traits.h b/zen/string_traits.h index 333c92c7..d9ce589c 100644 --- a/zen/string_traits.h +++ b/zen/string_traits.h @@ -36,7 +36,7 @@ namespace zen //reference a sub-string for consumption by zen string_tools //=> std::string_view seems decent, but of course fucks up in one regard: construction -template <class Iterator> auto makeStringView(Iterator first, Iterator last); +template <class Iterator> auto makeStringView(Iterator first, Iterator last); //e.g. this constructor is not available (at least on clang) template <class Iterator> auto makeStringView(Iterator first, size_t len); @@ -14,7 +14,7 @@ namespace zen { -//convert all(!) char- and wchar_t-based "string-like" objects applying a UTF8 conversions (but only if necessary!) +//convert all(!) char- and wchar_t-based "string-like" objects applying UTF conversions (but only if necessary!) template <class TargetString, class SourceString> TargetString utfTo(const SourceString& str); |