File tree Expand file tree Collapse file tree 1 file changed +14
-8
lines changed Expand file tree Collapse file tree 1 file changed +14
-8
lines changed Original file line number Diff line number Diff line change @@ -63,7 +63,11 @@ size_t File::Size() {
63
63
bool File::Flush () { return fflush (f_) == 0 ; }
64
64
65
65
bool File::Close () {
66
- if (f_ != nullptr && fclose (f_) == 0 ) {
66
+ if (f_ == nullptr ) {
67
+ return true ;
68
+ }
69
+
70
+ if (fclose (f_) == 0 ) {
67
71
f_ = nullptr ;
68
72
return true ;
69
73
} else {
@@ -72,15 +76,17 @@ bool File::Close() {
72
76
}
73
77
74
78
absl::Status File::Close (int flags) {
75
- bool ok = true ;
76
- if (f_ != nullptr ) {
77
- ok = (fclose (f_) == 0 );
79
+ if (f_ == nullptr ) {
80
+ return absl::Status ();
81
+ }
82
+
83
+ if (fclose (f_) == 0 ) {
78
84
f_ = nullptr ;
85
+ return absl::Status ();
86
+ } else {
87
+ const std::string msg = absl::StrCat (" Could not close file '" , name_, " '" );
88
+ return absl::Status (absl::StatusCode::kInvalidArgument , msg);
79
89
}
80
- std::string msg = absl::StrCat (" Could not close file '" , name_, " '" );
81
- delete this ;
82
- return ok ? absl::Status ()
83
- : absl::Status (absl::StatusCode::kInvalidArgument , msg);
84
90
}
85
91
86
92
void File::ReadOrDie (void * buf, size_t size) {
You can’t perform that action at this time.
0 commit comments