diff options
author | Riccardo Spagni <ric@spagni.net> | 2015-12-30 12:25:29 +0200 |
---|---|---|
committer | Riccardo Spagni <ric@spagni.net> | 2015-12-30 12:25:29 +0200 |
commit | 32a26332f8ad4b58e697ed360f8a67b64cdd649b (patch) | |
tree | a5d48783316ff837e353c51a29b54f5324dd0bb1 /external/rapidjson/filewritestream.h | |
parent | add missing miniupnpc files, modify cmake to not build miniupnpc tests and to... (diff) | |
download | monero-32a26332f8ad4b58e697ed360f8a67b64cdd649b.tar.xz |
no longer need to pass the size to rapidjson
Diffstat (limited to 'external/rapidjson/filewritestream.h')
-rw-r--r-- | external/rapidjson/filewritestream.h | 49 |
1 files changed, 28 insertions, 21 deletions
diff --git a/external/rapidjson/filewritestream.h b/external/rapidjson/filewritestream.h index 05c5ca090..3c3832920 100644 --- a/external/rapidjson/filewritestream.h +++ b/external/rapidjson/filewritestream.h @@ -1,22 +1,16 @@ -// Copyright (C) 2011 Milo Yip
+// Tencent is pleased to support the open source community by making RapidJSON available.
+//
+// Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved.
//
-// Permission is hereby granted, free of charge, to any person obtaining a copy
-// of this software and associated documentation files (the "Software"), to deal
-// in the Software without restriction, including without limitation the rights
-// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-// copies of the Software, and to permit persons to whom the Software is
-// furnished to do so, subject to the following conditions:
+// Licensed under the MIT License (the "License"); you may not use this file except
+// in compliance with the License. You may obtain a copy of the License at
//
-// The above copyright notice and this permission notice shall be included in
-// all copies or substantial portions of the Software.
+// http://opensource.org/licenses/MIT
//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-// THE SOFTWARE.
+// Unless required by applicable law or agreed to in writing, software distributed
+// under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
+// CONDITIONS OF ANY KIND, either express or implied. See the License for the
+// specific language governing permissions and limitations under the License.
#ifndef RAPIDJSON_FILEWRITESTREAM_H_
#define RAPIDJSON_FILEWRITESTREAM_H_
@@ -24,7 +18,12 @@ #include "rapidjson.h"
#include <cstdio>
-namespace rapidjson {
+#ifdef __clang__
+RAPIDJSON_DIAG_PUSH
+RAPIDJSON_DIAG_OFF(unreachable-code)
+#endif
+
+RAPIDJSON_NAMESPACE_BEGIN
//! Wrapper of C file stream for input using fread().
/*!
@@ -34,7 +33,7 @@ class FileWriteStream { public:
typedef char Ch; //!< Character type. Only support char.
- FileWriteStream(FILE* fp, char* buffer, size_t bufferSize) : fp_(fp), buffer_(buffer), bufferEnd_(buffer + bufferSize), current_(buffer_) {
+ FileWriteStream(std::FILE* fp, char* buffer, size_t bufferSize) : fp_(fp), buffer_(buffer), bufferEnd_(buffer + bufferSize), current_(buffer_) {
RAPIDJSON_ASSERT(fp_ != 0);
}
@@ -63,7 +62,11 @@ public: void Flush() {
if (current_ != buffer_) {
- fwrite(buffer_, 1, static_cast<size_t>(current_ - buffer_), fp_);
+ size_t result = fwrite(buffer_, 1, static_cast<size_t>(current_ - buffer_), fp_);
+ if (result < static_cast<size_t>(current_ - buffer_)) {
+ // failure deliberately ignored at this time
+ // added to avoid warn_unused_result build errors
+ }
current_ = buffer_;
}
}
@@ -80,7 +83,7 @@ private: FileWriteStream(const FileWriteStream&);
FileWriteStream& operator=(const FileWriteStream&);
- FILE* fp_;
+ std::FILE* fp_;
char *buffer_;
char *bufferEnd_;
char *current_;
@@ -92,6 +95,10 @@ inline void PutN(FileWriteStream& stream, char c, size_t n) { stream.PutN(c, n);
}
-} // namespace rapidjson
+RAPIDJSON_NAMESPACE_END
+
+#ifdef __clang__
+RAPIDJSON_DIAG_POP
+#endif
#endif // RAPIDJSON_FILESTREAM_H_
|