diff options
Diffstat (limited to 'nasmlib/file.c')
-rw-r--r-- | nasmlib/file.c | 10 |
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); |