Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/marian-nmt/sentencepiece.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTaku Kudo <taku@google.com>2018-05-06 18:51:20 +0300
committerTaku Kudo <taku@google.com>2018-05-06 18:51:20 +0300
commitcf0eb82d65850172a4661e47668938ab82cb2c76 (patch)
treefa6414db5714c6fd15f725d5a9e28cbcb14e20c2 /src/util.cc
parent31153b117294830ab41ff3e9ee4f0a7323f16d8d (diff)
CHECK to Status migration for Trainer.
Diffstat (limited to 'src/util.cc')
-rw-r--r--src/util.cc20
1 files changed, 14 insertions, 6 deletions
diff --git a/src/util.cc b/src/util.cc
index d06d953..915f01f 100644
--- a/src/util.cc
+++ b/src/util.cc
@@ -220,7 +220,9 @@ namespace io {
InputBuffer::InputBuffer(StringPiece filename)
: is_(filename.empty() ? &std::cin
: new std::ifstream(WPATH(filename.data()))) {
- CHECK_IFS(*is_, filename.data());
+ if (!*is_)
+ status_ = util::StatusBuilder(util::error::NOT_FOUND)
+ << "\"" << filename.data() << "\": " << std::strerror(errno);
}
InputBuffer::~InputBuffer() {
@@ -229,6 +231,8 @@ InputBuffer::~InputBuffer() {
}
}
+util::Status InputBuffer::status() const { return status_; }
+
bool InputBuffer::ReadLine(std::string *line) {
return static_cast<bool>(std::getline(*is_, *line));
}
@@ -237,7 +241,9 @@ OutputBuffer::OutputBuffer(StringPiece filename)
: os_(filename.empty()
? &std::cout
: new std::ofstream(WPATH(filename.data()), OUTPUT_MODE)) {
- CHECK_OFS(*os_, filename.data());
+ if (!*os_)
+ status_ = util::StatusBuilder(util::error::PERMISSION_DENIED)
+ << "\"" << filename.data() << "\": " << std::strerror(errno);
}
OutputBuffer::~OutputBuffer() {
@@ -246,13 +252,15 @@ OutputBuffer::~OutputBuffer() {
}
}
-void OutputBuffer::Write(StringPiece text) {
+util::Status OutputBuffer::status() const { return status_; }
+
+bool OutputBuffer::Write(StringPiece text) {
os_->write(text.data(), text.size());
+ return os_->good();
}
-void OutputBuffer::WriteLine(StringPiece text) {
- Write(text);
- Write("\n");
+bool OutputBuffer::WriteLine(StringPiece text) {
+ return Write(text) && Write("\n");
}
} // namespace io
} // namespace sentencepiece