Andrew Gaul
bb6d2b1b74
Replace snprintf with string and ostringstream ( #1649 )
...
These uses are probably safe from a buffer overflow perspective but
can cause data race issues in logging due to static buffers.
2021-05-08 02:48:47 +09:00
Andrew Gaul
8ef01d37a9
Fix a few nits ( #1645 )
...
Make some strings more const, initialize members, and abort if lock
initialization fails. Partially found via clang-tidy.
2021-05-06 19:40:35 +09:00
Andrew Gaul
cb9148f6cd
Update for clang-tidy 12 ( #1644 )
2021-05-03 09:43:18 +09:00
Andrew Gaul
7f3e423bbe
Preserve sub-second time precision ( #1624 )
...
Found via pjdfstests. References #897 . References #1589 .
2021-04-18 13:11:12 +09:00
Andrew Gaul
d019dda4f7
Simplify substr manipulations with erase ( #1532 )
...
This avoids creating a new std::string.
2021-01-25 18:02:32 +09:00
Takeshi Nakatani
493cf20f95
Merge pull request #1435 from gaul/no-exceptions
...
Remove exceptions from s3fs_strtoofft
2020-10-04 22:19:25 +09:00
Takeshi Nakatani
133feb67c3
Merge pull request #1434 from gaul/const-string
...
Use const std::string& where possible
2020-10-03 10:02:03 +09:00
Takeshi Nakatani
2cf195741c
Fixed signature error due to case of hex string
2020-10-02 18:09:13 +00:00
Andrew Gaul
3628b9d1e2
Remove exceptions from s3fs_strtoofft
...
Explicit return codes are simpler and safer.
2020-10-02 22:53:12 +09:00
Andrew Gaul
8d2bd874d7
Use const std::string& where possible
...
This hints to callers on usage.
2020-10-02 08:48:43 +09:00
Andrew Gaul
7e27c6cf7d
Further simplify and centralize hex conversion
2020-10-01 23:31:06 +09:00
Andrew Gaul
2438066d52
Remove calls to append, assign, and at
...
operator+, operator=, and operator[] are more idiomatic and consistent
with the code base.
2020-09-25 12:19:51 +09:00
Andrew Gaul
1043e08dfa
Remove uses of implicit namespace std
...
Fixed via:
sed -i '/using namespace std/{N;d}' src/*.cpp
sed -i 's/ string/ std::string/g' src/*.cpp
sed -i 's/(string/(std::string/g' src/*.cpp
sed -i 's/\[string/\[std::string/g' src/*.cpp
sed -i 's/^string/std::string/g' src/*.cpp
sed -i 's/ ifstream/ std::ifstream/g' src/*.cpp
sed -i 's/ istringstream/ std::istringstream/g' src/*.cpp
sed -i 's/ ostringstream/ std::ostringstream/g' src/*.cpp
sed -i 's/ max(/ std::max(/g' src/*.cpp
sed -i 's/ min(/ std::min(/g' src/*.cpp
sed -i 's/ endl/ std::endl/g' src/*.cpp
2020-09-13 11:57:20 +09:00
Takeshi Nakatani
b5ffd419d8
Source file division and set 4 spaces and cleanup
2020-08-26 17:43:50 +09:00
Andrew Gaul
958ad83a4b
Correct vim modeline to 2-space indentation
2020-08-19 21:03:46 +09:00
Takeshi Nakatani
97c249d5b9
Not abort process by exception threw from s3fs_strtoofft
2020-05-03 08:08:28 +00:00
Andrew Gaul
412876ca33
Expose base parameter in s3fs_strtoofft
...
This fixes a regression from ccf3e7bfa2
which caused the misparsing of octal inputs for the mp_umask and umask
flags. It also allows some callers to be more precise about their
decimal inputs.
2019-09-04 20:41:47 -07:00
Andrew Gaul
99aace4fc9
Avoid race when using thread-unsafe gmtime
...
Found via ThreadSanitizer.
2019-07-16 07:28:34 -07:00
Andrew Gaul
4adcd4a6c8
Implement s3fs_strtoofft via strtoll
...
This tightens error checking and aligns s3fs with known good behavior.
2019-07-14 15:15:06 -07:00
Andrew Gaul
6fd42d9fe4
Prefer modern C headers
...
Found and fixed via clang-tidy.
2019-07-12 03:50:59 -07:00
Andrew Gaul
bbfa91141a
Configure clang-tidy target
...
Also fix nits.
2019-07-03 14:04:11 -07:00
Andrew Gaul
042332bcec
Add missing braces
...
Found via clang-tidy. Also fix errant indentation.
2019-04-07 23:12:27 +09:00
Andrew Gaul
6f6a67807b
Prefer new over malloc
...
The former cannot return NULL and will allow use of scoped pointers.
2019-04-07 16:54:24 +09:00
Kristján Valur Jónsson
3c97c1b251
merged main
2019-02-19 10:53:00 +00:00
Kristján Valur Jónsson
e5b8377202
fix comments and code
2019-02-19 10:32:10 +00:00
Kristján Valur Jónsson
11b385820d
more robust wtf8 encoding
2019-02-18 12:27:44 +00:00
Takeshi Nakatani
eeb839242b
Fixed code for latest cppcheck error on OSX
2019-02-17 13:59:11 +00:00
Kristján Valur Jónsson
ca2d1d873d
Adding utility functions to convert invalid utf8 to wtf8 encoding
...
This is to deal with windows clients who pass in cp1252 as if it
were utf8
2019-02-15 15:57:03 +00:00
Takeshi Nakatani
231fd001d9
Added a non-interactive option to utility mode
...
Rebase for resolving conflicts
Deleted interactive mode on utility mode
Fixed minor mistakes
2019-02-10 17:36:18 +00:00
Andrew Gaul
07636c8a8d
Prefer specific [io]stringstream where possible
...
These better communicate intent and are slightly more efficient.
2019-01-29 10:44:33 -08:00
Andrew Gaul
61ecafd426
Remove unnecessary string copies
...
Found via clang-tidy.
2019-01-22 23:09:37 -08:00
Takeshi Nakatani
aa69107165
Merge pull request #905 from gaul/clang-tidy/redundant
...
Fix comparison in s3fs_strtoofft
2019-01-20 15:01:40 +09:00
Andrew Gaul
5a2dc03a1c
Fix comparison in s3fs_strtoofft
...
Also backfill unit tests. Document limitations. Found via
clang-tidy.
2019-01-17 22:59:25 -08:00
Andrew Gaul
e29548178b
Prefer find(char) over find(const char *)
...
The former can be faster. Found via clang-tidy.
2019-01-17 20:24:24 -08:00
Takeshi Nakatani
960d45c853
Fixed cppcheck error on osx
2018-02-25 08:51:19 +00:00
Andrew Gaul
bbad76bb71
Move str definition from header to implementation
...
Also clean up some char * to std::string conversions.
2017-11-18 11:34:34 -08:00
Takeshi Nakatani
9d10a5aa70
Changed copyright year format for debian pkg
2017-05-07 11:24:17 +00:00
Andrew Gaul
15db80b459
NUL terminate decoded base64 string
...
For consistency with encoded strings.
2015-08-19 13:48:07 -07:00
Andrew Gaul
76c0ef86e4
Move base64 and hex functions to string_util
2015-08-19 13:47:26 -07:00
Andrew Gaul
0ea88a73c7
Remove IntToStr
...
str duplicates this functionality. Also add unit test.
2015-08-12 08:25:09 -07:00
Takeshi Nakatani
4d49ace06b
Merge pull request #192 from andrewgaul/special-characters
...
Simplify URL encoding
2015-06-20 11:47:22 +09:00
Andrew Gaul
4e03acf17a
Simplify URL encoding
...
This also encodes asterisk and tilde correctly when listing a file
with a V4 auth endpoint. Also add tests for special characters
although s3proxy does not yet support V4 auth.
Fixes #188 . Fixes #194 .
2015-06-10 13:15:58 -07:00
Takeshi Nakatani
84fb3d83d8
Fixed xattr for binary value
2015-06-06 16:39:39 +00:00
Takeshi Nakatani
f258a14070
Supported extended attributes, initial commit
2015-04-20 17:24:57 +00:00
Takeshi Nakatani
a04bec85b2
Fixed url-encoding for ampersand etc on sigv4 - Improvement/#149
2015-03-21 02:11:55 +00:00
Takeshi Nakatani
4f953f9bd7
Clean codes for signature v4 and added new sigv2 option
2015-01-28 17:13:11 +00:00
Takeshi Nakatani
bb1f1d3faa
Merged manually from caxapniy/s3fs-fuse/tree/1.77v4merge for signature v4 - #102
2015-01-20 16:31:36 +00:00
Andrew Gaul
a56b8db410
Add simple unit tests for trim functions
...
Subsequent commits will use this infrastructure. Also reparent
prepare_url which relies on unrelated bucket, foreground2, and
pathrequeststyle symbols.
2014-12-06 18:07:14 -08:00
Vincent Bernat
7212072ff0
url: handle scheme omission
...
When the scheme is omitted in URL overriding (for example `example.com`
instead of `https://example.com `), s3fs is modifying the URL by
inserting `s3.` in the middle of the name (`examples3..com`).
This can be a bit difficult to troubleshoot and curl seems to handle
schema-less requests just fine. So, just handle this case correctly.
2014-10-23 10:25:17 +02:00
Takeshi Nakatani
7a7c7572ea
Cleaned up codes for next packaging.
2014-09-07 15:08:27 +00:00