From 5b2d10d97a7aa5aa1f04536528a6799016e6dbd1 Mon Sep 17 00:00:00 2001 From: Hermet Park Date: Tue, 20 Jul 2021 14:33:11 +0900 Subject: [PATCH] tvg format: code refactoring #5 replace from ofstream to FILE We know both have the same purpose, we always prefer the less binary size. So... this brings the binary size reduction. 1918496 => 1913528 --- src/lib/tvgSaverImpl.h | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/src/lib/tvgSaverImpl.h b/src/lib/tvgSaverImpl.h index 8a32f68f..83ac0256 100644 --- a/src/lib/tvgSaverImpl.h +++ b/src/lib/tvgSaverImpl.h @@ -26,7 +26,7 @@ #include "tvgBinaryDesc.h" #include #include -#include +#include struct Saver::Impl { @@ -47,13 +47,14 @@ struct Saver::Impl return true; } - bool saveBufferToFile(const std::string& path) + bool bufferToFile(const std::string& path) { - ofstream outFile; - outFile.open(path, ios::out | ios::trunc | ios::binary); - if (!outFile.is_open()) return false; - outFile.write(buffer.data, buffer.count); - outFile.close(); + FILE* fp = fopen(path.c_str(), "w+"); + if (!fp) return false; + + if (fwrite(buffer.data, sizeof(char), buffer.count, fp) == 0) return false; + + fclose(fp); return true; } @@ -405,7 +406,7 @@ struct Saver::Impl if (!writeHeader()) return false; if (serialize(paint) == 0) return false; - if (!saveBufferToFile(path)) return false; + if (!bufferToFile(path)) return false; return true; }