#include <folly/portability/Stdio.h>
#ifdef _WIN32
+
#include <cstdlib>
+
#include <folly/ScopeGuard.h>
#include <folly/portability/Unistd.h>
int dprintf(int fd, const char* fmt, ...) {
va_list args;
va_start(args, fmt);
- SCOPE_EXIT { va_end(args); };
+ SCOPE_EXIT {
+ va_end(args);
+ };
int ret = vsnprintf(nullptr, 0, fmt, args);
if (ret <= 0) {
}
size_t len = size_t(ret);
char* buf = new char[len + 1];
- SCOPE_EXIT { delete[] buf; };
+ SCOPE_EXIT {
+ delete[] buf;
+ };
if (size_t(vsnprintf(buf, len + 1, fmt, args)) == len &&
write(fd, buf, len) == ssize_t(len)) {
return ret;
return -1;
}
-int pclose(FILE* f) { return _pclose(f); }
+int pclose(FILE* f) {
+ return _pclose(f);
+}
-FILE* popen(const char* name, const char* mode) { return _popen(name, mode); }
+FILE* popen(const char* name, const char* mode) {
+ return _popen(name, mode);
+}
void setbuffer(FILE* f, char* buf, size_t size) {
setvbuf(f, buf, _IOFBF, size);
return -1;
}
}
+
#endif