#pragma once
-#include <folly/Conv.h>
+#include <sys/stat.h>
+#include <sys/types.h>
+
+#include <cassert>
+#include <limits>
+
#include <folly/Portability.h>
+#include <folly/Range.h>
#include <folly/ScopeGuard.h>
#include <folly/portability/Fcntl.h>
#include <folly/portability/SysUio.h>
#include <folly/portability/Unistd.h>
-#include <cassert>
-#include <limits>
-#include <sys/stat.h>
-#include <sys/types.h>
-
namespace folly {
/**
// Obtain file size:
struct stat buf;
- if (fstat(fd, &buf) == -1) return false;
+ if (fstat(fd, &buf) == -1) {
+ return false;
+ }
// Some files (notably under /proc and /sys on Linux) lie about
// their size, so treat the size advertised by fstat under advise
// but don't rely on it. In particular, if the size is zero, we
constexpr size_t initialAlloc = 1024 * 4;
out.resize(
std::min(
- buf.st_size > 0 ? folly::to<size_t>(buf.st_size + 1) : initialAlloc,
- num_bytes));
+ buf.st_size > 0 ? (size_t(buf.st_size) + 1) : initialAlloc, num_bytes));
while (soFar < out.size()) {
const auto actual = readFull(fd, &out[soFar], out.size() - soFar);
int count,
mode_t permissions = 0644);
-} // namespaces
+} // namespace folly