]> git.ipfire.org Git - thirdparty/ccache.git/commitdiff
perf: Optimize util::write_file for empty data
authorJoel Rosdahl <joel@rosdahl.net>
Sun, 13 Nov 2022 08:48:10 +0000 (09:48 +0100)
committerJoel Rosdahl <joel@rosdahl.net>
Sun, 13 Nov 2022 15:34:54 +0000 (16:34 +0100)
src/util/file.cpp

index db0f4e83952495ea5aa16133ff2423984a55b4eb..7b718969e42b1dbea540b87575123cc75456f02c 100644 (file)
@@ -296,7 +296,7 @@ nonstd::expected<void, std::string>
 write_fd(int fd, const void* data, size_t size)
 {
   int64_t written = 0;
-  do {
+  while (static_cast<size_t>(written) < size) {
     const auto count =
       write(fd, static_cast<const uint8_t*>(data) + written, size - written);
     if (count == -1) {
@@ -306,7 +306,7 @@ write_fd(int fd, const void* data, size_t size)
     } else {
       written += count;
     }
-  } while (static_cast<size_t>(written) < size);
+  }
   return {};
 }