From c914d298604ef7ad3934c3c213d3f8822d6646d9 Mon Sep 17 00:00:00 2001
From: Guillaume Buisson <contact@guillaume.dev>
Date: 摹曛, 20 5月 2021 13:50:43 +0800
Subject: [PATCH] Several fixes (#120)

---
 src/library/base/file_utils.cpp |   13 ++++++++-----
 1 files changed, 8 insertions(+), 5 deletions(-)

diff --git a/src/library/base/file_utils.cpp b/src/library/base/file_utils.cpp
index 221cd77..dba4d22 100644
--- a/src/library/base/file_utils.cpp
+++ b/src/library/base/file_utils.cpp
@@ -10,7 +10,8 @@
 #include <cerrno>
 #include <iostream>
 #include <algorithm>
-
+#include <errno.h>
+#include <cstring>
 #include "file_utils.hpp"
 
 namespace license {
@@ -34,17 +35,19 @@
 }
 
 string get_file_contents(const char *filename, size_t max_size) {
+	string contents;
 	ifstream in(filename, std::ios::binary);
 	if (in) {
-		string contents;
-		size_t index = in.seekg(0, ios::end).tellg();
+		size_t index = (size_t)in.seekg(0, ios::end).tellg();
 		size_t limited_size = min(index, max_size);
 		contents.resize(limited_size);
 		in.seekg(0, ios::beg);
 		in.read(&contents[0], limited_size);
-		return contents;
+		in.close();
+	} else {
+		throw runtime_error(std::strerror(errno));
 	}
-	throw(errno);
+	return contents;
 }
 
 string remove_extension(const string& path) {

--
Gitblit v1.9.1