From 8eba534e99cd8db29cca03035a115312935a22a3 Mon Sep 17 00:00:00 2001 From: David Robillard Date: Thu, 7 Mar 2019 22:41:35 +0100 Subject: Use smart pointers to handle FILE streams --- src/Configuration.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'src/Configuration.cpp') diff --git a/src/Configuration.cpp b/src/Configuration.cpp index c05c516e..d0d606e8 100644 --- a/src/Configuration.cpp +++ b/src/Configuration.cpp @@ -18,6 +18,7 @@ #include #include #include +#include #include #include "ingen/Configuration.hpp" @@ -279,7 +280,8 @@ Configuration::save(URIMap& uri_map, } // Attempt to open file for writing - FILE* file = fopen(path.c_str(), "w"); + std::unique_ptr file{fopen(path.c_str(), "w"), + &fclose}; if (!file) { throw FileError((fmt("Failed to open file %1% (%2%)") % path % strerror(errno)).str()); @@ -302,7 +304,7 @@ Configuration::save(URIMap& uri_map, env, &base_uri, serd_file_sink, - file); + file.get()); // Write a prefix directive for each prefix in the environment serd_env_foreach(env, (SerdPrefixSink)serd_writer_set_prefix, writer); @@ -334,7 +336,6 @@ Configuration::save(URIMap& uri_map, serd_writer_free(writer); serd_env_free(env); serd_node_free(&base); - fclose(file); return path; } -- cgit v1.2.1