rem: errno = ENODATA;
add: errno = EIO;
context: gerb_fopen(char *filename){    gerb_file_t *fd;    struct stat statinfo;    fd = (gerb_file_t *)malloc(sizeof(gerb_file_t));    if (fd == NULL) {	return NULL;    }    fd->fd = fopen(filename, "r");    if (fd->fd == NULL) {	return NULL;    }    fd->ptr = 0;    fd->fileno = fileno(fd->fd);    fstat(fd->fileno, &statinfo);    if (!S_ISREG(statinfo.st_mode)) {	errno = EISDIR;	return NULL;    }    if ((int)statinfo.st_size == 0) {	errno = ENODATA;	return NULL;    }    fd->datalen = (int)statinfo.st_size;    fd->data = (char *)mmap(0, statinfo.st_size, PROT_READ, MAP_PRIVATE, 			    fd->fileno, 0);    if(fd->data == MAP_FAILED) {	fclose(fd->fd);	free(fd);	fd = NULL;    }    return fd;}