pw_status: Enforce [[nodiscard]] on pw::Status in upstream Pigweed
- Enable the [[nodiscard]] flag for the pw_strict_* toolchains.
- Check unused Status or call IgnoreError() and flag with pwbug/387.
Change-Id: Ibef43c09b29a803bc3be17f81e13639d5f908cb2
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/77561
Reviewed-by: Alexei Frolov <frolv@google.com>
Pigweed-Auto-Submit: Wyatt Hepler <hepler@google.com>
Reviewed-by: Keir Mierle <keir@google.com>
Commit-Queue: Auto-Submit <auto-submit@pigweed.google.com.iam.gserviceaccount.com>
diff --git a/pw_file/flat_file_system.cc b/pw_file/flat_file_system.cc
index ea24478..0d822dd 100644
--- a/pw_file/flat_file_system.cc
+++ b/pw_file/flat_file_system.cc
@@ -45,11 +45,13 @@
{
pw::file::Path::StreamEncoder encoder = output_encoder.GetPathsEncoder();
- encoder.WritePath(reinterpret_cast<const char*>(file_name_buffer_.data()),
- sws.size());
- encoder.WriteSizeBytes(entry.SizeBytes());
- encoder.WritePermissions(entry.Permissions());
- encoder.WriteFileId(entry.FileId());
+ encoder
+ .WritePath(reinterpret_cast<const char*>(file_name_buffer_.data()),
+ sws.size())
+ .IgnoreError();
+ encoder.WriteSizeBytes(entry.SizeBytes()).IgnoreError();
+ encoder.WritePermissions(entry.Permissions()).IgnoreError();
+ encoder.WriteFileId(entry.FileId()).IgnoreError();
}
return output_encoder.status();
}
@@ -70,11 +72,13 @@
Status write_status = writer.Write(encoder);
if (!write_status.ok()) {
- writer.Finish(write_status);
+ writer.Finish(write_status)
+ .IgnoreError(); // TODO(pwbug/387): Handle Status properly
return;
}
}
- writer.Finish(OkStatus());
+ writer.Finish(OkStatus())
+ .IgnoreError(); // TODO(pwbug/387): Handle Status properly
}
void FlatFileSystemService::List(ConstByteSpan request,
@@ -90,25 +94,29 @@
std::string_view file_name_view;
if (!decoder.ReadString(&file_name_view).ok() ||
file_name_view.length() == 0) {
- writer.Finish(Status::DataLoss());
+ writer.Finish(Status::DataLoss())
+ .IgnoreError(); // TODO(pwbug/387): Handle Status properly
return;
}
// Find and enumerate the file requested.
Result<Entry*> result = FindFile(file_name_view);
if (!result.ok()) {
- writer.Finish(result.status());
+ writer.Finish(result.status())
+ .IgnoreError(); // TODO(pwbug/387): Handle Status properly
return;
}
pw::file::ListResponse::MemoryEncoder encoder(encoding_buffer_);
Status proto_encode_status = EnumerateFile(*result.value(), encoder);
if (!proto_encode_status.ok()) {
- writer.Finish(proto_encode_status);
+ writer.Finish(proto_encode_status)
+ .IgnoreError(); // TODO(pwbug/387): Handle Status properly
return;
}
- writer.Finish(writer.Write(encoder));
+ writer.Finish(writer.Write(encoder))
+ .IgnoreError(); // TODO(pwbug/387): Handle Status properly
return;
}