summaryrefslogtreecommitdiff
path: root/source/core/slang-writer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'source/core/slang-writer.cpp')
-rw-r--r--source/core/slang-writer.cpp17
1 files changed, 17 insertions, 0 deletions
diff --git a/source/core/slang-writer.cpp b/source/core/slang-writer.cpp
index 5b643fff8..2f694aeec 100644
--- a/source/core/slang-writer.cpp
+++ b/source/core/slang-writer.cpp
@@ -1,3 +1,5 @@
+#define _CRT_SECURE_NO_WARNINGS
+
#include "slang-writer.h"
#include "slang-platform.h"
@@ -166,6 +168,21 @@ SlangResult FileWriter::setMode(SlangWriterMode mode)
return SLANG_FAIL;
}
+/* static */SlangResult FileWriter::create(const char* filePath, const char* writeOptions, WriterFlags flags, ComPtr<ISlangWriter>& outWriter)
+{
+ flags &= ~WriterFlag::IsUnowned;
+
+ FILE* file = fopen(filePath, writeOptions);
+ if (!file)
+ {
+ return SLANG_E_CANNOT_OPEN;
+ }
+
+ outWriter = new FileWriter(file, flags);
+ return SLANG_OK;
+}
+
+
/* !!!!!!!!!!!!!!!!!!!!!!!!! StringWriter !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/
SLANG_NO_THROW char* SLANG_MCALL StringWriter::beginAppendBuffer(size_t maxNumChars)