From 84dc318576e19ef1f86f6b012ba911c4b63f788d Mon Sep 17 00:00:00 2001 From: Yong He Date: Mon, 27 Mar 2023 18:39:44 -0700 Subject: Don't touch output file if content did not change. (#2738) Co-authored-by: Yong He --- tools/slang-lookup-generator/lookup-generator-main.cpp | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) (limited to 'tools') diff --git a/tools/slang-lookup-generator/lookup-generator-main.cpp b/tools/slang-lookup-generator/lookup-generator-main.cpp index 882563767..796275e4a 100644 --- a/tools/slang-lookup-generator/lookup-generator-main.cpp +++ b/tools/slang-lookup-generator/lookup-generator-main.cpp @@ -210,13 +210,8 @@ void writeHashFile( const List includes, const HashParams& hashParams) { - FILE* f = nullptr; - fopen_s(&f, outCppPath, "wb"); - if (!f) - { - return; - } - FileWriter writer(f, WriterFlags(0)); + StringBuilder sb; + StringWriter writer(&sb, WriterFlags(0)); WriterHelper w(&writer); w.print("// Hash function for %s\n", valueType); @@ -299,6 +294,8 @@ void writeHashFile( w.print("\n"); w.print("}\n"); + + File::writeAllTextIfChanged(outCppPath, sb.getUnownedSlice()); } int main(int argc, const char* const* argv) -- cgit v1.2.3