summaryrefslogtreecommitdiff
path: root/nasmlib/file.c
diff options
context:
space:
mode:
Diffstat (limited to 'nasmlib/file.c')
-rw-r--r--nasmlib/file.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/nasmlib/file.c b/nasmlib/file.c
index 95f3c52a..7552b6fb 100644
--- a/nasmlib/file.c
+++ b/nasmlib/file.c
@@ -33,6 +33,16 @@
#include "file.h"
+void nasm_read(void *ptr, size_t size, FILE *f)
+{
+ size_t n = fread(ptr, 1, size, f);
+ if (ferror(f)) {
+ nasm_fatal(0, "unable to read input: %s", strerror(errno));
+ } else if (n != size || feof(f)) {
+ nasm_fatal(0, "fatal short read on input");
+ }
+}
+
void nasm_write(const void *ptr, size_t size, FILE *f)
{
size_t n = fwrite(ptr, 1, size, f);