diff options
Diffstat (limited to 'utils/read_file_into.c')
-rw-r--r-- | utils/read_file_into.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/utils/read_file_into.c b/utils/read_file_into.c new file mode 100644 index 00000000..59569484 --- /dev/null +++ b/utils/read_file_into.c @@ -0,0 +1,19 @@ +/* + * Read an entire file into a BinarySink. + */ + +#include <stdio.h> + +#include "defs.h" +#include "misc.h" + +bool read_file_into(BinarySink *bs, FILE *fp) +{ + char buf[4096]; + while (1) { + size_t retd = fread(buf, 1, sizeof(buf), fp); + if (retd == 0) + return !ferror(fp); + put_data(bs, buf, retd); + } +} |