
8 Jan
2012
8 Jan
'12
7:51 a.m.
On Thursday 05 January 2012 13:44:57 David Wagner wrote:
--- a/tools/mkenvimage.c +++ b/tools/mkenvimage.c
filesize = txt_file_stat.st_size;
/* Read the raw input file and transform it */
filebuf = malloc(sizeof(*envptr) * filesize);
ret = read(txt_fd, filebuf, sizeof(*envptr) * filesize);
if (ret != sizeof(*envptr) * filesize) {
fprintf(stderr, "Can't read the whole input file\n");
filebuf = mmap(NULL, sizeof(*envptr) * filesize, PROT_READ,
MAP_PRIVATE, txt_fd, 0);
ret = close(txt_fd);
if (filebuf == MAP_FAILED) {
fprintf(stderr, "mmap (%ld bytes) failed: %s\n",
sizeof(*envptr) * filesize,
}strerror(errno)); return EXIT_FAILURE;
ret = close(txt_fd);
seems like the mmap() failure shouldn't be fatal. just have it fallback to the normal read()/write() logic. -mike