changeset 200:1099568ef450

Irccd: do not loop on std::feof
author David Demelier <markand@malikania.fr>
date Wed, 08 Jun 2016 20:26:00 +0200
parents 15ad726db5c8
children 75bc436b8b3f
files lib/irccd/mod-file.cpp
diffstat 1 files changed, 1 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/lib/irccd/mod-file.cpp	Wed Jun 08 19:59:00 2016 +0200
+++ b/lib/irccd/mod-file.cpp	Wed Jun 08 20:26:00 2016 +0200
@@ -259,9 +259,7 @@
 			std::array<char, 128> buffer;
 			std::size_t nread;
 
-			while (!std::feof(file->handle())) {
-				nread = std::fread(&buffer[0], sizeof (buffer[0]), buffer.size(), file->handle());
-
+			while ((nread = std::fread(&buffer[0], sizeof (buffer[0]), buffer.size(), file->handle())) > 0) {
 				if (std::ferror(file->handle()))
 					dukx_throw(ctx, SystemError());