@@ -20,7 +20,7 @@ namespace LIBC_NAMESPACE_DECL {
2020
2121FileIOResult File::write_unlocked (const void *data, size_t len) {
2222 if (!write_allowed ()) {
23- err_code = EBADF ;
23+ err = true ;
2424 return {0 , EBADF};
2525 }
2626
@@ -45,16 +45,16 @@ FileIOResult File::write_unlocked_nbf(const uint8_t *data, size_t len) {
4545 FileIOResult write_result = platform_write (this , buf, write_size);
4646 pos = 0 ; // Buffer is now empty so reset pos to the beginning.
4747 // If less bytes were written than expected, then an error occurred.
48- if (write_result. has_error () || write_result < write_size) {
49- err_code = write_result. has_error () ? write_result. error : EIO ;
48+ if (write_result < write_size) {
49+ err = true ;
5050 // No bytes from data were written, so return 0.
51- return {0 , err_code };
51+ return {0 , write_result. error };
5252 }
5353 }
5454
5555 FileIOResult write_result = platform_write (this , data, len);
56- if (write_result. has_error () || write_result < len)
57- err_code = write_result. has_error () ? write_result. error : EIO ;
56+ if (write_result < len)
57+ err = true ;
5858 return write_result;
5959}
6060
@@ -106,8 +106,9 @@ FileIOResult File::write_unlocked_fbf(const uint8_t *data, size_t len) {
106106 // If less bytes were written than expected, then an error occurred. Return
107107 // the number of bytes that have been written from |data|.
108108 if (buf_result.has_error () || bytes_written < write_size) {
109- err_code = buf_result.has_error () ? buf_result.error : EIO;
110- return {bytes_written <= init_pos ? 0 : bytes_written - init_pos, err_code};
109+ err = true ;
110+ return {bytes_written <= init_pos ? 0 : bytes_written - init_pos,
111+ buf_result.error };
111112 }
112113
113114 // The second piece is handled basically the same as the first, although we
@@ -127,8 +128,8 @@ FileIOResult File::write_unlocked_fbf(const uint8_t *data, size_t len) {
127128 // If less bytes were written than expected, then an error occurred. Return
128129 // the number of bytes that have been written from |data|.
129130 if (result.has_error () || bytes_written < remainder.size ()) {
130- err_code = result. has_error () ? result. error : EIO ;
131- return {primary.size () + bytes_written, err_code };
131+ err = true ;
132+ return {primary.size () + bytes_written, result. error };
132133 }
133134 }
134135
@@ -165,29 +166,26 @@ FileIOResult File::write_unlocked_lbf(const uint8_t *data, size_t len) {
165166
166167 size_t written = 0 ;
167168
168- auto write_result = write_unlocked_nbf (primary.data (), primary.size ());
169- written += write_result;
170- if (write_result.has_error () || written < primary.size ()) {
171- err_code = write_result.has_error () ? write_result.error : EIO;
172- return {written, err_code};
169+ written = write_unlocked_nbf (primary.data (), primary.size ());
170+ if (written < primary.size ()) {
171+ err = true ;
172+ return written;
173173 }
174174
175175 flush_unlocked ();
176176
177- write_result = write_unlocked_fbf (remainder.data (), remainder.size ());
178- written += write_result;
179- ;
180- if (write_result.has_error () || written < len) {
181- err_code = write_result.has_error () ? write_result.error : EIO;
182- return {written, err_code};
177+ written += write_unlocked_fbf (remainder.data (), remainder.size ());
178+ if (written < len) {
179+ err = true ;
180+ return written;
183181 }
184182
185183 return len;
186184}
187185
188186FileIOResult File::read_unlocked (void *data, size_t len) {
189187 if (!read_allowed ()) {
190- err_code = EBADF ;
188+ err = true ;
191189 return {0 , EBADF};
192190 }
193191
@@ -246,7 +244,7 @@ FileIOResult File::read_unlocked_fbf(uint8_t *data, size_t len) {
246244 if (!result.has_error ())
247245 eof = true ;
248246 else
249- err_code = result. error ;
247+ err = true ;
250248 return {available_data + fetched_size, result.error };
251249 }
252250 return len;
@@ -264,7 +262,7 @@ FileIOResult File::read_unlocked_fbf(uint8_t *data, size_t len) {
264262 if (!result.has_error ())
265263 eof = true ;
266264 else
267- err_code = result. error ;
265+ err = true ;
268266 }
269267 return {transfer_size + available_data, result.error };
270268}
@@ -284,7 +282,7 @@ FileIOResult File::read_unlocked_nbf(uint8_t *data, size_t len) {
284282 if (!result.has_error ())
285283 eof = true ;
286284 else
287- err_code = result. error ;
285+ err = true ;
288286 }
289287 return {result + available_data, result.error };
290288}
@@ -323,7 +321,7 @@ int File::ungetc_unlocked(int c) {
323321 }
324322
325323 eof = false ; // There is atleast one character that can be read now.
326- err_code = 0 ; // This operation was a success.
324+ err = false ; // This operation was a success.
327325 return c;
328326}
329327
@@ -333,8 +331,8 @@ ErrorOr<int> File::seek(off_t offset, int whence) {
333331
334332 FileIOResult buf_result = platform_write (this , buf, pos);
335333 if (buf_result.has_error () || buf_result.value < pos) {
336- err_code = buf_result. has_error () ? buf_result. error : EIO ;
337- return Error (err_code );
334+ err = true ;
335+ return Error (buf_result. error );
338336 }
339337 } else if (prev_op == FileOp::READ && whence == SEEK_CUR) {
340338 // More data could have been read out from the platform file than was
@@ -371,8 +369,8 @@ int File::flush_unlocked() {
371369 if (prev_op == FileOp::WRITE && pos > 0 ) {
372370 FileIOResult buf_result = platform_write (this , buf, pos);
373371 if (buf_result.has_error () || buf_result.value < pos) {
374- err_code = buf_result. has_error () ? buf_result. error : EIO ;
375- return err_code ;
372+ err = true ;
373+ return buf_result. error ;
376374 }
377375 pos = 0 ;
378376 }
0 commit comments