incbin: if we have to fread(), try to do it only once...

If we can't mmap a file and instead have to fread(), if the data is
small enough that we can reasonably accomodate it in a memory buffer,
then just read it once.

It seems rather unlikely that very large files would be used with
TIMES anyway.

Also note: the previous comment about nasm_file_size[_by_path]() being
invoked twice was spurious; it does not actually happen.

Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
This commit is contained in:
H. Peter Anvin 2016-09-21 15:56:19 -07:00
parent d81a235f33
commit 04445364fc
3 changed files with 17 additions and 4 deletions

View file

@ -455,7 +455,7 @@ FILE *nasm_open_write(const char *filename, enum file_flags flags);
/* Probe for existence of a file */
bool nasm_file_exists(const char *filename);
#define ZERO_BUF_SIZE 4096 /* Default value */
#define ZERO_BUF_SIZE 65536 /* Default value */
#if defined(BUFSIZ) && (BUFSIZ > ZERO_BUF_SIZE)
# undef ZERO_BUF_SIZE
# define ZERO_BUF_SIZE BUFSIZ