summaryrefslogtreecommitdiff
path: root/klm/util/file.cc
diff options
context:
space:
mode:
authorChris Dyer <cdyer@cs.cmu.edu>2012-03-09 22:24:05 -0500
committerChris Dyer <cdyer@cs.cmu.edu>2012-03-09 22:24:05 -0500
commit164ef0ee3579202af838c54bdb402ce5559b6044 (patch)
treea163c94ff999bd5920461da75a0e22a6792b35ac /klm/util/file.cc
parent113317266853abff2e1c0c3e889017d0eee55c93 (diff)
parent249301376865578b7f9678cc97c0f8b6f78623f6 (diff)
Merge branch 'master' of github.com:redpony/cdec
Diffstat (limited to 'klm/util/file.cc')
-rw-r--r--klm/util/file.cc10
1 files changed, 10 insertions, 0 deletions
diff --git a/klm/util/file.cc b/klm/util/file.cc
index aee7c77a..176737fa 100644
--- a/klm/util/file.cc
+++ b/klm/util/file.cc
@@ -42,6 +42,16 @@ int OpenReadOrThrow(const char *name) {
return ret;
}
+int CreateOrThrow(const char *name) {
+ int ret;
+#if defined(_WIN32) || defined(_WIN64)
+ UTIL_THROW_IF(-1 == (ret = _open(name, _O_CREAT | _O_TRUNC | _O_RDWR, _S_IREAD | _S_IWRITE)), ErrnoException, "while creating " << name);
+#else
+ UTIL_THROW_IF(-1 == (ret = open(name, O_CREAT | O_TRUNC | O_RDWR, S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH)), ErrnoException, "while creating " << name);
+#endif
+ return ret;
+}
+
uint64_t SizeFile(int fd) {
#if defined(_WIN32) || defined(_WIN64)
__int64 ret = _filelengthi64(fd);